• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

rj47

Biblioteca (do CA Harvest) no Visual Studio

16 mensagens neste tópico

Bom dia,

Estou a ter algumas dificuldades em incluir 1 biblioteca num projecto C++ ou C# no Visual Studio 2003.

Já adicionei a pasta \lib respectiva a Propriedades->Linker->General->Additional Libraries Directories e as pastas \lib e \include às variáveis de ambiente LIB e INCLUDE (do Visual Studio).

Sei que é 1 coisa simples, quando se sabe o que fazer, mas ainda não consegui resolver o problema.  :wallbash:

Cumprimentos,

Ricardo Bernardino

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Que biblioteca?

E o que queres dizer com "C++ ou C#"? As duas são incompatíveis.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Hsdk.lib (Harvest SDK - Programa de Software Change Manager)

Não referi porque pensei que não fosse importante...

Desculpa a confusão, a ideia era dizer a linguagem é indiferente (C++ ou C#)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pode ser importante porque as bibliotecas podem ter as suas libs (SOs) em diferentes directórios e a estrutura dos headers varia também. Muitas vezes  também é necessário compilar todas ou algumas bibliotecas (pese embora sendo este um sdk proprietário as bibliotecas viram já pre-compiladas).

Não conheço o Harvest. Estive a dar uma vista de olhos rápida. Sendo um SCM proprietário não terás dificuldade nenhuma em receber suporte da CA.

Estou seguro que terás instruções de instalação algures na documentação do SDK (já agora só encontrei um SDK, e era para Java. Parece-me ser o que foi usado para desenvolver o Plugin para o Eclipse). De outra forma é só entrares em contacto com a CA e eles darão todo o suporte.

Entretanto o SCM em si não me parce que integre bem com o VS 2003. A CA parece apenas garantir compatibilidade com o 2005 e o 2008. Mas mais uma vez, ou alguém aqui conhece o software e te pode ajudar, o então terás que entrar em contacto com o suporte técnico. É para isso que pagaste pelo software.

EDIT: Aconselho-te também a alterares o titulo da thread para incluir as palavras CA Harvest de forma destacada. Darás mais visibilidade à tua dúvida uma vez qu isto é um problema específico relacionado com este software. Se alguém reconhecer o nome, estás garantido.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Quanto à integração com o VS 2003, acho que não há problema, porque tenho o mesmo problema no 2005.

Passando às instruções de instalação, são basicamente isto, e foi a primeira coisa que fiz:

1. Place the HSDK\include directory in the include path for your development tool.

2. Place the HSDK\lib directory in the library path for your development tool.

3. Include hsdk.h in any application file that uses HSDK classes.

4. Include hsdk.lib in the link command for the application.

Mas tive algumas dificuldades com o ponto 4... Talvez não tenha percebido bem o que é para fazer.

Se for 1 problema do Harvest, o suporte técnico pode recolver o problema.

Se estiver relacionado com o ponto 4, espero que 1 de vocês me consiga explicar o que é exactamente e como fazer.

Obrigado na mesma, vou seguir os outros conselhos entretanto.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O passo 4 significa que deves linkar o teu programa com hsdk.lib.

Não tenho aqui nesta máquina o VS, portanto não sei o caminho exacto. Mas tens nas opções do Linker uma que se chama "Additional Dependencies". Escreve aí: hsdk.lib

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

OK

Obrigado pelo esclarecimento.

Era o que eu tinha percebido e feito. Era só para confirmar.

Linkando ou não, mantém-se o prob... Não sei se ajuda mas aqui ficam as linhas geradas pelas opções "C/C++" e "Linker" respectivamente:

/O2 /I "C:\Documents and Settings\SIVAHARVEST\Desktop\code\Samples\include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /FD /EHsc /MD /Fp".\Release/hsdksample.pch" /Fo".\Release/" /Fd".\Release/" /W3 /nologo /c
/OUT:".\Release/hsdksample.exe" /INCREMENTAL:NO /NOLOGO /LIBPATH:"C:\Documents and Settings\SIVAHARVEST\Desktop\code\lib" /PDB:".\Release/hsdksample.pdb" /SUBSYSTEM:CONSOLE /MACHINE:X86 hsdk.lib  kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Compiling...

hsdksample.cpp

c:\Documents and Settings\SIVAHARVEST\Desktop\code\include\castring.h(101) : error C2143: syntax error : missing ';' before '&'

c:\Documents and Settings\SIVAHARVEST\Desktop\code\include\castring.h(101) : error C2433: 'ostream' : 'friend' not permitted on data declarations

c:\Documents and Settings\SIVAHARVEST\Desktop\code\include\castring.h(101) : error C2501: 'ostream' : missing storage-class or type specifiers

c:\Documents and Settings\SIVAHARVEST\Desktop\code\include\castring.h(101) : error C2061: syntax error : identifier 'ostream'

c:\Documents and Settings\SIVAHARVEST\Desktop\code\include\castring.h(101) : error C2501: 'CaString::operator`<<'' : missing storage-class or type specifiers

c:\Documents and Settings\SIVAHARVEST\Desktop\code\include\castring.h(101) : error C2805: binary 'operator <<' has too few parameters

(...)

c:\Documents and Settings\SIVAHARVEST\Desktop\code\include\capackage.h(137) : fatal error C1003: error count exceeds 100; stopping compilation

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pois... comecei a suspeitar depois do teu último post.

Isto é um erro do compilador, não do linker por enquanto. Parece que que lhe estão a faltar headers.

Nas opções do compilador faz este passo:

"1. Place the HSDK\include directory in the include path for your development tool."

Estás a usar as environment variables do windows... mas faz antes nas próprias opções do compilador para o teu projecto no IDE do Visual Studio. Depois diz qualquer coisa...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pois, isso foi o que eu fiz: 1ª linha da quote do post anterior.

/I "C:\Documents and Settings\SIVAHARVEST\Desktop\code\Samples\include"

Agora, para além disso, eliminei as referências das environment variables, mas continua na mesma...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

mas aquele não pode ser o directorio do include. Se for é o mais estranho que vi.

O directório include está dentro do directório HSDK. Aquele é um directório de samples - código com exemplos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Porque copiei os includes para essa pasta (em desespero) para experimentar.

Mas para confirmar, voltei a usar o directório original:

(...)

c:\Program Files\CA\AllFusion Harvest Change Manager\HSDK\include\capackage.h(137) : error C2433: 'ostream' : 'friend' not permitted on data declarations

(...)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

As parvoíces do Visual Studio 2003...

É um problema com as standard libraries (lá está, o facto de a CA onfirmar suporte para apenas o VS 2005 e 2008). Está a usar <iostream.h> em vez do <iostream>. Penso que isto resolverá o problema:

Nos teu "Project Settings -> C/C++ Preprocessor" adiciona REQUIRE_IOSTREAM às actuais "preprocessor definitions"

Depois diz qualquer coisa.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pois, experimentei mas acho que o problema não é do <iostream> porque continua a dar exactamente os mesmos erros.

Já agora, porque falaste no <iostream>?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Depois dessa já não sei, rj47.

A única coisa que pode ser é realmente isso não ser compatível com o VS C++ 2003. A CA é clara nesse ponto.

Falei no iostream porque já vi esse erro algumas vezes. O header iostream.h no Visual Studio C++ 2003 é a origem desse erro. A solução é a que te apresentei. Não conheço outra.

EDIT: Excepto, manteres o que fizeste no passo anterior e corrigires todos os headers do Harvest afectados de forma a usarem std: atrás de ostream e afins... ou fazeres upgrade para VS C++ 2005 com SP1

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora