Alguém conseguiu obter mym ( link ) para construir em uma máquina Win7 de 64 bits? E se você se importaria de postar ou vincular seus passos para fazer isso?
Meus detalhes:
Windows 7 Enterprise, sistema operacional de 64 bits
MATLAB versão 7.13.0.564 (R2011b)
Microsoft VS 2010 Ver. 10.0.30319.1
MySQL Ver 14.14 Distrib 5.5.21, para Win64 (x86)
Eu rodei "mex -setup" e consegui compilar e executar o "yprime.c"
Eu baixei e instalei o zlib ( link ), que é o que o arquivo leia-me mym diz para fazer.
Aqui está o comando mex que estou usando:
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
Eu recebo várias mensagens de erro "já definidas em MSVCRT.lib". por exemplo:
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)
Eu admito que estou perplexo neste momento e que não há muitas informações úteis por aí na world wide web.
ATUALIZAÇÃO:
Nas minhas anotações, aqui estão os passos que eu dei para que isso funcionasse (Nota: Eu não estou mais trabalhando no projeto que precisava disso, então espero que as coisas não tenham mudado desde que eu fiz isso)
- Instale o MATLAB de 32 bits, se ainda não estiver disponível. (Eu acredito que mym requer 32 bits
MATLAB embora eu não estou 100% de certeza sobre isso.)
- Faça o download do código-fonte zlib ( link ). A versão que eu baixei foi 1.2.6; a fonte estava contida em um arquivo zip chamado zlib126.zip
- Descompacte o código-fonte zlib e coloque no local desejado - coloquei o conteúdo na pasta “C: \ zlib 1.2.6”
- Faça o download do zlib124_masm_obj.zip ( link ). (NOTA: Depois de construir o zlib enquanto escrevia estas notas, notei que existe um zlib125_masm_obj.zip disponível.)
- Copie o conteúdo do diretório “contrib \ masmx86” no arquivo zip para o diretório “... \ zlib 1.2.6 \ contrib \ masmx86” (OBSERVAÇÃO: Essa etapa foi necessária porque, ao tentar criar o zlib Recebi uma mensagem de erro referente a arquivos ausentes. Não me lembro como ou onde encontrei a solução para isso. Esqueci de anotar o site. Encontrei o link listado na etapa 4 enquanto escrevia essas anotações.
- Construa o zlib com o Microsoft Visual Studio 2010:
uma. Clique duas vezes no arquivo de solução do MVS, zlibvc.sln, na pasta “... \ zlib 1.2.6 \ contrib \ vstudio \ vc10 \” para iniciar o MVS2010. (NOTA: Quando eu fiz isso eu tenho seis projetos listados na solução zlibvc.)
b. Construa o projeto. (Observação: quando eu fiz isso, somente projeto zlibvc criado com êxito, mas que era o único que eu precisava. Além disso, defino as propriedades do projeto para que a configuração foi uma compilação de lançamento em vez de uma compilação de depuração.)
c. Verifique se zlibwapi.lib é gerado na pasta "... \ zlib 1.2.6 \ contrib \ vstudio \ vc10 \ x86 \ ZlibDllRelease".
- Faça o download do mym ( link ). A versão que eu instalei foi de 1,36. A fonte estava contida em um arquivo zip chamado mym_src_v1.36.zip.
- Descompacte o arquivo mym e coloque o conteúdo no local desejado - coloquei o conteúdo na pasta C: \ Users \ dossow1 \ Documentos \ MATLAB \ mym_src_v1.36
- Copie o arquivo msvc100opts.bat do diretório “C: \ Arquivos de Programas (x86) \ MATLAB \ R2011b \ bin \ win32 \ mexopts” para o diretório onde o mym foi armazenado.
- Edite o arquivo msvc100opts.bat para adicionar a opção “/ NODEFAULTLIB: LIBCMTD” à linha “set LINKFLAGS”.
- Inicie o MATLAB, cd para o diretório em que o mym estava armazenado e compile o mym com o seguinte comando:
mex -f. \ msvc100opts.bat -I'C: \ zlib-1.2.6 '
-I'C: \ Arquivos de programas (x86) \ MySQL \ MySQL Connector C 6.0.2 \ include '...
-L'C: \ zlib-1.2.6 \ contrib \ vstudio \ vc10 \ x86 \ ZlibDllRelease '...
-L'C: \ Arquivos de programas (x86) \ MySQL \ MySQL Connector C 6.0.2 \ lib \ opt '...
-llibmysql -lzlibwapi. \ mym.cpp
- Siga um destes procedimentos:
uma. Copie as seguintes DLLs para o diretório em que o mym está armazenado:
Eu. zlibwapi.dll de “... \ zlib-1.2.6 \ contrib \ vstudio \ vc10 \ x86 \ ZlibDllRelease”
ii. libmysql.dll de “... \ Arquivos de Programas (x86) \ MySQL \ MySQL Connector C 6.0.2 \ lib \ opt”
b. Adicione os diretórios onde zlibwapi.dll e libmysql.dll estão localizados no caminho do sistema (via Painel de Controle | Propriedades Avançadas do Sistema | Variáveis de Ambiente | Variáveis do Sistema | Caminho)
Agora mym deve estar pronto para correr !!