我正在做一个由几个模块组成的项目(总共5个)。我需要一个独立版本的这些,以便他们可以进行测试(他们是处理步骤)。我还需要一个版本,将它们全部合并成一个程序。对于独立测试,它们都有一些额外的主文件和IO来读取其他模块的输入/写入输出(完整的应用程序通常不需要这些)。独立的所有模块运行都很好。
现在的问题是,模块2-5需要OpenCV进行处理,模块1需要Qt作为可视化工具。我尝试将2-5包含到1中(所以1也需要opencv),所以我把它们放到了项目的项目文件夹中,结构如下所示:
M1
- QtTest // this is actually M1, I didn't manage to rename that yet
- Debug
- GeneratedFiles
- M2 // M2-5 contain the .h and .cpp of the respective M
- M3
- M4
- M5 // this one also has a portable blender, a folder with a model and a folder with python scripts
- OpenCV
- build
- include
- opencv2 // with all the files of opencv
- x64
- vc12 // for now, only one of those when working correctly
- bin // dll
- lib // compact .lib
- staticlib // single .libs'
- Output
- Resources
- x64
- [All the .h, .cpp, .props. etc. for M1]
- Win32
- x64
- QtTest.sdf
- QtTest.sln现在,我将Visual Studio 2013与Qt5.4和Opencv3结合使用。我想将OpenCV包含到应用程序中,但是由于大小和方便的原因,用户不必安装Opencv (不需要环境变量),我也需要包括搅拌器(只是作为便携文件夹)。(这是一个研究项目。)
对于M2-5和OpenCV,我还有如下的附加依赖项(两个新的x64道具表,一个用于OpenCV,另一个用于所有模块):
C/C++ >一般>其他包括:
链接器>一般>附加库:
链接器>输入>附加依赖项(取决于bin、lib或staticlib):
对于这两个工作表,我已经将Codegeneration转换为MTd (lib和staticlib)和MDd (bin)。这个项目本身也是有关系的。
我现在得到了大量的链接器错误
我该怎么安排呢?最好我只想要bin或lib,因为staticlib也很大。
(如果需要,我可以提供更多的信息。)
发布于 2016-04-06 11:00:28
好吧,我在那犯了一些错误。没有必要为模块文件夹放置includes。根据动态链接库(MDd/MDd、to 12/lib、opencv_ts300(d).dll + opencv_world300(d).dll)调整所有内容,从而修正链接错误等。
在此基础上出现了错误,即matchTemplate(...)的无入口点错误。我转向了一个新版本的opencv (有一个早期版本,alpha或beta)。3.1正在工作,实际上可能会转到3.0稳定版本。
https://stackoverflow.com/questions/36334189
复制相似问题