[英]CMake And Visual Studio build errors
我一直在尝试使用cmake编译郁金香以生成Visual Studio 2012项目文件。 这给我带来很多麻烦。 我不知道该如何构建。 我一直试图让Visual Studio来构建它已有4天了,对此我感到非常沮丧。 本质上,我按照此处的步骤进行操作,然后根据这些说明设置变量CMAKE_LIBRARY_PATH和CMAKE_INCLUDE_PATH。
要到达我所在的位置,只需下载tulip ,然后:
在这些说明中以及在使CMake生成Visual Studio构建文件的过程中,它特别要求freetype的位置。 但是在我的构建中,它不知道如何链接自由类型库。
我知道很多人都不想完全尝试复制构建环境,因此我已将构建目录上载到Dropbox。 您可以下拉整个内容,然后在cmake gui中将其打开,并在其中也打开Visual Studio文件。 https://www.dropbox.com/sh/qsvukh9t5gb6bvt/tOfOBxWgd0
您指向的链接器错误(主要是“未解决的外部错误”)表明链接命令行上缺少库。
这很可能是由于郁金香项目中的target_link_libraries调用被跳过或以与磁盘上的库名不匹配的库名被调用。
在Visual Studio中打开解决方案,然后右键单击该项目,然后选择“属性”-在“其他依赖项”字段中查看“链接器>输入”面板。 那应该列出它要链接的所有库。 那里有一个自由类型库吗? 该库在磁盘上的引用位置中是否存在?
郁金香项目中可能有错误,或者Freetype的构建/安装中可能有问题...
UPDATE AFTER SOME CHAT:
也可能是您有一些针对x86构建的库,一些针对x64构建的库...,或者某些针对Debug的库 ,某些针对Release的库 ...,甚至有些是使用MinGW编译器而有些是使用Visual Studio编译器。 如果是这种情况,请从头开始,并使用一致的编译器,配置类型和体系结构构建所有内容。 然后再次报告更新,以查看问题是否仍然存在。
我和戴夫在一起
您应该尝试通过1来修复错误1。第一个错误似乎是链接错误:
Error 1 error LNK2019: unresolved external symbol gzread referenced in function "public: virtual int __cdecl gzstreambuf::underflow(void)" (?underflow@gzstreambuf@@UEAAHXZ) C:\Users\kenne_000\tulip-build\tulip-build-debug\thirdparty\gzstream\gzstream.obj gzstream
gzstream是包含在以下郁金香源中的第三方库:
thirdparty\gzstream
从
thirdparty\gzstream\CMakeLists.txt
您会看到缺少的符号应该来自ZLIB。 但是,您的CMakeCache.txt指出
ZLIB_LIBRARY:FILEPATH=C:/Users/kenne_000/dependencies/zlib128-dll/lib/zdll.lib
被发现。
因此问题可能是,此依赖项是否已使用同一编译器进行编译? 您没有编译器专有的名称修改问题吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.