| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/12/2009 17:01:40
|
ovelha
Java Ninja
![[Avatar]](/images/avatar/394201ad68984c677be221f6d9f263fc.jpeg)
Membro desde: 12/09/2007 13:17:41
Mensagens: 281
Offline
|
Galera é o seguinte, tenho um programa que compila no VS2008, ele é uma dll que é um plug-in para o firefox.
Gerando esse Dll pelo VS2008 funciona perfeitamente. O problema é que so funciona na minha maquina, por causa do .net framework. Existe alguma forma de fazer o VS2008 compilar uma dll sem que seja para utilizar com o .net framework?
Estou utilizando o Visual C++ 2008
Em paralelo estou tentando portar essa compilação para o Dev-C++, o projeto já esta compilando, porem a dll fica bem menor e o firefox não a reconhece. Existe algum truque para compilar Dll do Dev-C++?
Muito obrigado se alguem puder me dar qualquer luz.
This message was edited 1 time. Last update was at 14/12/2009 17:02:13
|
bééééééééééééééééé |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/12/2009 17:31:12
|
pablosaraiva
JavaGuru
Membro desde: 27/03/2009 17:08:37
Mensagens: 243
Offline
|
Só precisa do .net Framework se você usar .net no código.
Se for código C++ puro, não precisa.
O código no devcpp tá compilando e não funciona?
Eu sugiro debugging. Teste as partes do código individualmente e verifique o que não está funcionando.
Caso o código não seja enorme, poste aqui.
|
Existem 10 tipos de pessoas no mundo. As que conhecem binário e as que não. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/12/2009 17:43:03
|
entanglement
GUJ Hacker
Membro desde: 26/09/2009 09:18:56
Mensagens: 5750
Offline
|
O problema é que so funciona na minha maquina, por causa do .net framework.
Esse não é o problema; não tem nada a ver com o .NET Framework. Na verdade, é uma opção de compilação que faz que ele requeira as bibliotecas de runtime do C++ (que ficam em \windows\winsxs\*).
Veja se é possível alterar a opção de compilação, trocando de "Multithreaded DLL" para "Multithreaded".
|
| Nome do arquivo |
opcaocompilacao.png |
Download
|
| Descrição |
Opções de Compilação |
| Tamanho |
26 Kbytes
|
| Baixado: |
72 vez(es) |
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/12/2009 09:43:23
|
ovelha
Java Ninja
![[Avatar]](/images/avatar/394201ad68984c677be221f6d9f263fc.jpeg)
Membro desde: 12/09/2007 13:17:41
Mensagens: 281
Offline
|
Esse não é o problema; não tem nada a ver com o .NET Framework. Na verdade, é uma opção de compilação que faz que ele requeira as bibliotecas de runtime do C++ (que ficam em \windows\winsxs\*).
Veja se é possível alterar a opção de compilação, trocando de "Multithreaded DLL" para "Multithreaded".
Cara funcionou como magica, a dll ficou 7 vezes maior e o meu plugin para o firefox funcionou perfeitamente agora vou fazer um para o IE e já sabendo disso não vou apanhar nesse ponto denovo !!
Muito Obrigado Mesmo !! Vc não sabe o quanto me ajudou !!
|
bééééééééééééééééé |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/12/2009 09:48:20
|
ovelha
Java Ninja
![[Avatar]](/images/avatar/394201ad68984c677be221f6d9f263fc.jpeg)
Membro desde: 12/09/2007 13:17:41
Mensagens: 281
Offline
|
pablosaraiva obrigado pela atenção, a dll gerada pelo Dev C++ ficava menor que a primeira dll gerada pelo visual studio, e não era possivel de realizar depuração pois quando eu iniciava o firefox a dll nem subia. Na verdade eu tenho um "esquema" de log na minha dll que da para depurar legal mas ele nem chega a iniciar.
|
bééééééééééééééééé |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/12/2009 13:35:29
|
entanglement
GUJ Hacker
Membro desde: 26/09/2009 09:18:56
Mensagens: 5750
Offline
|
Ainda bem que sua DLL não depende do .NET Framework.
Se dependesse, você TERIA de usar a opção "Multithreaded DLL", e aí você teria de instalar a versão nova do runtime do Visual C++ (que foi atualizada recentemente em agosto de 2009. Isso é uma imposição do .NET Framework (que depende de a DLL ter sido compilada com "Multithreaded DLL" ou "Multithreaded Debug DLL". )
Provavelmente é por isso que não sobe nas outras máquinas. Para provar que é esse o caso, experimente rodar um Windows Update completo nessas máquinas que estavam com problemas, e tente rodar a DLL antiga (que era menor e usava a opção de compilação antiga). Se depois disso o plugin do Firefox subir, isso quer dizer que a atualização fez com que fosse instalada a versão nova do runtime do Visual C++.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/12/2009 13:43:14
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20578
Localização: Curitiba/PR
Offline
|
Só um detalhe. Antes que você comece a sofrer com essa IDE, mantenha-se mesmo no Visual Studio 2008 (o express é free) ou, se fizer questão de compilar no MinGW, migre para o code::blocks: http://www.codeblocks.org/
O MinGW do dev é muito antigo e a IDE é cheia de bugs. Entre o mais enervante, está o fato dela omitir parte da mensagem de erro, o que pode tornar o seu trabalho de encontrar um problema um verdadeiro inferno.
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/12/2009 13:57:23
|
entanglement
GUJ Hacker
Membro desde: 26/09/2009 09:18:56
Mensagens: 5750
Offline
|
De modo geral, até para evitar problemas estranhos, é sempre melhor compilar plugins com a mesma versão de compilador que o produto foi compilado. Por exemplo, o Firefox para Windows é compilado normalmente com o MS Visual Studio, assim como o Java da Sun, então um plugin para o Firefox ou uma DLL JNI têm melhores probabilidades de funcionar corretamente se forem compilados com o MS Visual Studio.
( O Java da Sun para Solaris é compilado, obviamente, com o Sun Studio, mas ele é de graça ).
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/12/2009 15:06:25
|
ovelha
Java Ninja
![[Avatar]](/images/avatar/394201ad68984c677be221f6d9f263fc.jpeg)
Membro desde: 12/09/2007 13:17:41
Mensagens: 281
Offline
|
@vini, muito obrigado pela dica, vou me livrar do dev C++
@entanglement, agora dei uma pesquisada e vi que o que vc escreveu, sobre a versão do compilador, esta na especificação da Gecko SDK (para plug-in do firefox), passou desapercebido por mim no começo.
Muito Obrigado pela atenção galera !!
|
bééééééééééééééééé |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/12/2009 15:11:36
|
ovelha
Java Ninja
![[Avatar]](/images/avatar/394201ad68984c677be221f6d9f263fc.jpeg)
Membro desde: 12/09/2007 13:17:41
Mensagens: 281
Offline
|
Aproveitando que já estamo aqui mesmo
Alguem de vcs sabem sobre alguma boa IDE para linux para programar em C++ ??
acredito que compilador não tem muito o que pensar, gcc na veia.
Tipo eu até sei compilar e linkar na mão com GCC mas acredito que assim como no windows, deve ser lincado algum .so ou .o do sistema operacional para a o meu arquivo .so do linux rodar corretamente.
|
bééééééééééééééééé |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/12/2009 16:30:15
|
bezier curve
JavaEvangelist
Membro desde: 28/11/2009 17:55:58
Mensagens: 411
Offline
|
O Vini já lhe respondeu - é o Code::Blocks.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/12/2009 17:24:06
|
ovelha
Java Ninja
![[Avatar]](/images/avatar/394201ad68984c677be221f6d9f263fc.jpeg)
Membro desde: 12/09/2007 13:17:41
Mensagens: 281
Offline
|
Vc tem razão, não sei prq pensei que o code::blocks era apenas windows.
Muito Obrigado a todos, se alguem tiver curiosidade em ver como é um XDCOM Scritable Firefox Plugin estou anexando por carater de curiosidade, é so baixar a gecko sdk compilar e um abraço.
| Nome do arquivo |
npsimple.rar |
Download
|
| Descrição |
|
| Tamanho |
7 Kbytes
|
| Baixado: |
58 vez(es) |
|
bééééééééééééééééé |
|
|
 |
|
|