Кто-нибудь смог получить mym (http://sourceforge.net/projects/mym/) для сборки на 64-битной машине Win7? И если так, не могли бы вы опубликовать или связать свои шаги для этого?
Мои данные: Windows 7 Enterprise, 64-битная ОС MATLAB Версия 7.13.0.564 (R2011b) Microsoft VS 2010 Вер. 10.0.30319.1 MySQL Ver 14.14 Distrib 5.5.21, для Win64 (x86)
Я запустил "mex -setup" и смог скомпилировать и запустить "yprime.c"
Я скачал и установил zlib (http://www.zlib.net/), о чем говорит файл readme для mym.
Вот команда mex, которую я использую:
mex -IC:\zlib-1.2.6 -I'C:\Program Files\MySQL\Connector C 6.0.2\include' ...
-L'C:\Program Files\MySQL\Connector C 6.0.2\lib\opt' ...
-L'C:\zlib-1.2.6' -lzlib -lmysqlclient mym.cpp
Я получаю кучу сообщений об ошибках «уже определено в MSVCRT.lib». например:
LIBCMT.lib(tidtable.obj) : error LNK2005: _encoded_null already defined in MSVCRT.lib(MSVCR100.dll)
LIBCMT.lib(invarg.obj) : error LNK2005: _set_invalid_parameter_handler already defined in MSVCRT.lib(MSVCR100.dll)
LIBCMT.lib(crt0dat.obj) : error LNK2005: _initterm_e already defined in MSVCRT.lib(MSVCR100.dll)
Я признаю, что на данный момент я в тупике, и во всемирной паутине не так много полезной информации.
ОБНОВИТЬ:
Из моих заметок, вот шаги, которые я предпринял, чтобы заставить это работать (Примечание: я больше не работаю над проектом, который нуждался в этом, поэтому я надеюсь, что ничего не изменилось с тех пор, как я это сделал)
- Установите 32-битную MATLAB, если она еще не доступна. (Я полагаю, что mym требует 32-битного MATLAB, хотя я не уверен на 100% в этом.)
- Загрузите исходный код zlib (http://www.zlib.net/). Версия, которую я скачал, была 1.2.6; источник содержался в zip-архиве zlib126.zip
- Разархивируйте исходный код zlib и поместите в нужное место - я поместил содержимое в папку «C:\zlib 1.2.6»
- Загрузите zlib124_masm_obj.zip (http://www.findthatfile.com/search-37735452-hZIP/winrar-winzip-download-zlib124_masm_obj.zip.htm). (ПРИМЕЧАНИЕ: после сборки zlib во время написания этих заметок я заметил, что доступен zlib125_masm_obj.zip.)
- Скопируйте содержимое каталога «contrib \masmx86» в zip-архиве в каталог «... \zlib 1.2.6 \contrib \masmx86» (ПРИМЕЧАНИЕ. Этот шаг был необходим, потому что при попытке собрать zlib я получил сообщение об ошибке относительно отсутствующих файлов. Я не помню, как и где я нашел решение этого. Я забыл отметить веб-сайт. Я нашел ссылку, указанную в шаге 4 во время написания этих заметок.)
- Сборка zlib с помощью Microsoft Visual Studio 2010: a. Дважды щелкните файл решения MVS, zlibvc.sln, в папке «... \zlib 1.2.6 \contrib \vstudio \vc10 \», чтобы запустить MVS2010. (ПРИМЕЧАНИЕ. Когда я сделал это, я получил шесть проектов, перечисленных в разделе «Решение zlibvc».) б. Постройте проект. (ПРИМЕЧАНИЕ: Когда я это сделал, успешно был построен только проект zlibvc, но это был единственный, который мне был нужен. Кроме того, я установил свойства проекта так, чтобы Конфигурация была сборкой выпуска вместо сборки отладки.) с. Убедитесь, что zlibwapi.lib создан в папке «... \zlib 1.2.6 \contrib \vstudio \vc10 \x86 \ZlibDllRelease».
- Загрузите mym (http://sourceforge.net/projects/mym/). Версия, которую я установил, была 1.36. Источник содержался в zip-архиве mym_src_v1.36.zip.
- Распакуйте архив mym и поместите содержимое в нужное место - я поместил содержимое в папку C:\Users \dossow1 \Documents \MATLAB \mym_src_v1.36
- Скопируйте файл msvc100opts.bat из каталога «C:\Program Files (x86)\MATLAB \R2011b \bin \win32 \mexopts» в каталог, где хранится mym.
- Отредактируйте файл msvc100opts.bat, добавив параметр «/NODEFAULTLIB: LIBCMTD» в строку «set LINKFLAGS».
- Запустите MATLAB, перейдите в каталог, где хранилась mym, и скомпилируйте mym с помощью следующей команды:
mex -f.\msvc100opts.bat -I'C:\zlib-1.2.6 '-I'C:\Program Files (x86)\MySQL\MySQL Connector C 6.0.2\include' ... -L'C:\zlib-1.2.6\contrib\vstudio\vc10\x86\ZlibDllRelease '... -L'C:\Program Files (x86)\MySQL\MySQL, Connector C 6.0.2\lib\opt '... -llibmysql -lzlibwapi.\mym.cpp
- Выполните одно из следующих действий: Скопируйте следующие DLL в каталог, где хранится mym:i. zlibwapi.dll из «...\zlib-1.2.6\contrib\vstudio\vc10\x86\ZlibDllRelease» ii. libmysql.dll из «...\Program Files (x86)\MySQL\MySQL, Connector C 6.0.2\lib\opt ”b. Добавьте каталоги, в которых zlibwapi.dll и libmysql.dll находятся в системном пути (через Панель управления | Расширенные свойства системы | Переменные среды | Системные переменные | Путь)
Теперь мой должен быть готов к запуску!