opencv: Como definir Dependências do projeto no Visual Studio 2005?
-
21-08-2019 - |
Pergunta
Eu tenho quatro projetos:
- cv
- cxcore
- highgui
- TemplateMatching
O projeto dependências :
- cv projeto depende cxcore
- highgui projeto depende cxcore
- TemplateMatching projeto depende cv, cxcore, highgui
mas ainda existem alguns erros:
Desenvolver começou: Projeto: highgui, Configuration: Debug Win32
.....
LINK: .... \ bin \ cxcore100d.dll não encontrada ou não construído pelo último elo incrementais; realizando link completo
cvcap.obj: LNK2019 de erro: Símbolo externo não resolvido cvFree referenciado na função _cvReleaseCapture
cvcap_vfw.obj: LNK2001 de erro: Símbolo externo não resolvido cvFree
cvcap_vfw.obj: erro LNK2019: não resolvidos _cvReleaseImage símbolo externo referenciado na função "vazio __cdecl icvCloseCAM_VFW (struct CvCaptureCAM_VFW *)" (? icvCloseCAM_VFW @@ YAXPAUCvCaptureCAM_VFW @@@ Z)
image.obj: LNK2001 de erro: externo não resolvido símbolo _cvReleaseImage
loadsave.obj: LNK2001 de erro: externo não resolvido símbolo _cvCreateImage
loadsave.obj: Erro LNK2001: Símbolo externo não resolvido _cvFlip
image.obj: LNK2019 de erro: Símbolo externo não resolvido _cvSetImageROI referenciado no .... \ bin / highgui100d.dll: Erro fatal LNK1120: 31 externos não resolvidos
.....
highgui - 56 de erro (s), 0 aviso (s)
========== Constituição: 0 sucedido, 1 falhou, 1 up-to-date, 0 ignorados ==========
Eu não konw como descobrir isso .... Como posso fazer "TemplateMatching" usar as funções na cv / cxcore / highgui projetos?
Graças
Solução
Se você só quer o seu próprio projecto (TemplateMatching) para usar OpenCV, você não tem que construir os projetos CV Aberto, apenas link para a bibliotecas OpenCV, cv.lib, cxcore.lib e highgui.lib.
Se você ainda quer construir os projetos OpenCV, parece com os erros que o projeto HighGui não está ligando para cxcore.lib. Essa é a razão para os erros que você está recebendo.
Eu assumo que você instalou OpenCV 1.0 no Windows com as configurações típicas?
Editar : Os libs, como cxcore.lib, são "stubs". Estes libaries são basicamente espaços reservados que informam o vinculador que a implementação das funções está na DLL. Portanto, você tem que incluir essas bibliotecas no link, e certifique-se de que o seu executável sabe onde encontrar as DLLs que implementam as funções.
Outras dicas
direito do mouse em um projeto e selecione Adicionar referências. Selecione a guia Projetos, destacar os projetos que você quer de referência a partir do projeto atual e clique em OK. Nos arquivos de classe, o uso (C #) usando instruções para fazer referência os namespaces.