草庐IT

library_loader

全部标签

c++ - 带有 boost 的 CMake(在 Windows 上):Could not find libraries?

我正在尝试使用CMake构建我的项目。我也在使用boost。我的CMakeLists.txt文件中的查找包语句是:find_package(Boost1.42所需组件python系统文件系统序列化线程程序选项正则表达式test_exec_monitor)构建失败,我收到的错误消息是:找不到以下Boost库:boost_systemboost_filesystemboost_serializationboost_threadboost_program_options当我检查我的lib目录时,我发现这些库的名称是:libboost-vc100-mt.lib而不是boost_事实上,当我根据

c++ - CMake 测试 : was a library compiled/linked against libc++ or libstd++?

我正在使用cmake来管理我使用第三方库的项目。此库可能已针对libc++或libstd++(取决于版本)进行编译/链接。我知道如何告诉cmake将我的项目编译/链接到libc++或libstdc++,但我不知道如何检查我正在使用的库是否是根据libc++或libstd++编译/链接的。有任何cmake命令可以检查吗? 最佳答案 对于共享库,您可以使用GetPrerequisites用于测试库是否依赖于libstc++或libc++的标准模块。例如,以下代码测试boost的program_options库是否针对libstc++或l

c++ - Visual Studio : How to specify different runtime libraries for the linker?(/MTd、MDd 等)

我正在链接到VS2008中的几个库。如果我对链接器的了解是正确的,MTd用于静态链接而MDd用于动态链接(到DLL)。我的目标是静态链接一些库和动态链接其他库。项目选项似乎只有一个设置适用于链接器输入中的所有库。我该怎么做? 最佳答案 在您设置项目后,您的项目将获得一个合理的C运行时库默认值,具体取决于您如何回答新建项目向导的提示。您可以按如下方式检查和更改(如果需要):在解决方案资源管理器中右键单击相关项目,选择属性查看配置属性、C/C++、代码生成、运行时库。您可以根据需要链接其他库,您只需在“链接器”、“输入”、“附加依赖项”

c++ - 依赖于另一个库的库上的 CMake 和 target_link_libraries

我正在使用CMake构建不同的C++库,整个事情可以总结如下:liba:不依赖于任何东西libb:依赖于a我现在需要创建一个依赖于b的库c。我只需要在b上链接c吗?或者在b和a上,因为b依赖于a?target_link_libraries(cb)还是target_link_libraries(cba)?谢谢 最佳答案 在你的代码构建库b中,你应该告诉CMakeb依赖于a:target_link_libraries(ba)然后,您的库/应用程序c可以仅链接到它使用的内容,而不必担心依赖项的依赖关系:target_link_librar

c++ - VC++ 项目 : MSXML vs any other XML libraries

我们知道基于COM技术的MSXML。我们想将它用于即将开始的VC++项目。与MSXML相比,还有其他XML库做得更好吗? 最佳答案 TinyXML-一个C++开源库 关于c++-VC++项目:MSXMLvsanyotherXMLlibraries,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2403567/

c++ - 如何使用 Boost Graph Library 更改图中的边权重?

我已经使用Boost图形库定义了一个图形,typedefboost::propertyEdgeWeightProperty;typedefboost::adjacency_listGraph;使用添加边相当简单boost::add_edge(vertice1,vertice2,weight,graph);我还没有弄清楚如何在设置边缘权重后更改它。一种可能的解决方案是删除边缘并使用更新后的权重值重新添加它,但是,这似乎有点过分。 最佳答案 一种解决方案是执行以下操作typedefboost::adjacency_listGraph;t

c++ - Boost Graph Library astar和导航网格

我在做一个项目SFML/C++,我需要生成一个图来连接它们之间的障碍物以方便寻路,所以我有兴趣生成一个导航网格,我将应用boostA*算法。有点像这样:但是我在使用BoostGraphLibrary实现它时遇到了很多问题(如果您有一个更合适的库,我很感兴趣)。首先,我创建一个具有适当结构的adjacency_list:structWayPoint{sf::Vector2fpos;};structWayPointConnection{floatdist;};typedefboost::adjacency_listWayPointGraph;typedefWayPointGraph::ve

c++ - 编译cuda文件报错: "runtime library" mismatch value 'MDd_DynamicDebug' doesn't match value 'MTd_StaticDebug' in vectorAddition_cuda. o

我尝试在Qt5.2和MSVC2012环境下编译一个cuda文件。在开始我的项目之前,我仔细阅读了问题并回复:CompilingCudacodeinQtCreatoronWindows.但是即使我简单地复制代码并在qt中生成2个文件,仍然会弹出一些错误/main.cpp/vectorAddition.cu错误是:errorLNK2038:mismatchdetectedfor'RuntimeLibrary':value'MDd_DynamicDebug'doesn'tmatchvalue'MTd_StaticDebug'invectorAddition_cuda.o我完全不知道如何修复这

c++ - 为什么 cmake_link_libraries 包含静态库?

我希望我的可执行文件再次链接到共享库(libmy_so.so),而共享库又是使用静态库(libmy_static_lib.a)构建的。当我做的时候target_link_libraries(my_exemy_so)我在编译时看到cmake在构建行上添加了libmy_static_lib.a。这不是我想要的,我不明白为什么需要这样做。有没有办法解决?LINK_PRIVATE似乎没有任何区别。我使用CMake2.8.9。 最佳答案 来自CMakedocumentationfortarget_link_libraries:target_l

c++ - "the procedure entry point _ZNSt8_detail15_List_node_base7_M_hookEPS0_ could not be located in the dynamic link library libstdc -6.dll."

有个小问题。我有C++代码,它链接到一些库。我以前有源代码的(原始)exe,它在第一台机器上运行完美。还有第二台机器,我在那里处理源代码,更改它,等等。在第二台机器上,该源代码的构建工作正常,当我复制second.exe并尝试在第一台机器上运行它时萌芽它显示错误信息"theprocedureentrypoint_ZNSt8_detail15_List_node_base7_M_hookEPS0_couldnotbelocatedinthedynamiclinklibrarylibstdc++-6.dll."有一件事,second.exe被复制到与original.exe相同的文件夹中,