CMAKE_FIND_LIBRARY_SUFFIXES
全部标签 使用CMake,我能够交叉编译并创建一个依赖于其他静态库的静态库。但是,生成的静态库不包含其他静态库的“内容”。因此,我想创建一个存档,即静态库,它实际上包含所有内容(所有目标文件)。为此,我尝试在CMakeLists.txt中使用以下指令:add_custom_target(combinedALLCOMMAND${CMAKE_AR}rclibcombined.a$$$)CMAKE_AR设置为我的交叉编译器(存档器?)所在的绝对路径;它的值类似于:c:/arm/arm-none-eabi-ar.exe但是,当我尝试构建项目(make&&makeinstall)时,我收到以下错误:'..
我想在我的x64Windows机器上构建一个x86Windows应用程序。我将CMake、Ninja、clang-cl、lld-link和VSBuildTools2017与以下CMakeLists一起使用cmake_minimum_required(VERSION3.9)project(TestCXX)add_library(TestLibSTATIC"")target_include_directories(TestLibPUBLICTestLib/inc)target_sources(TestLibPRIVATETestLib/src/Flop.cppTestLib/src/tes
要让cmake链接到(例如)boost::thread我可以这样写:find_package(BoostREQUIREDCOMPONENTSthread)然后:target_link_librarie(${target}PRIVATEBoost::thread)如何使用WindowsMediaFoundation库执行此操作? 最佳答案 有CMake处理依赖关系的三种基本方法:CMake附带一个bunchoffindmodulesforfindingexternallibraries.您对find_package(Boost...)
我有一个不应在x86上以32位模式构建的CMake项目,而且我终其一生都想不出如何防止这种情况发生。现在,它出现cmake,默认情况下在Windows上采用32位构建。如何让我的CMake项目始终构建64位变体,无需将命令行参数传递给CMake?或者,如果CMake试图构建为32位,我该如何让CMake中止? 最佳答案 您可以将以下代码添加到我们的CMakeLists.txt以确保只允许x64构建:if(NOTCMAKE_SIZEOF_VOID_PEQUAL8)message("Pleaseswitchtox64build.")re
我正在尝试在Windows上编译一个非常简单的测试程序,但不断收到链接器错误。要链接的程序如下:#includeintmain(){boost::asio::io_contextcontext;}虽然CMakeLists.txt看起来像这样:cmake_minimum_required(VERSION3.10FATAL_ERROR)project(windows-test)SET(CMAKE_CXX_STANDARD17)find_package(Boost1.6.7COMPONENTSsystem)include_directories("${Boost_INCLUDE_DIRS}"
在我的电脑上,我有VS9和VS10用于测试目的。当我使用VS9或VS10配置我的项目时,CMake没有问题。现在我想用NMake生成一个项目,但是在配置过程中它采用VS9作为默认的C编译器和CXX编译器,而我想要VS10。有谁知道我如何执行这样的操作吗?即我想从Projects>cmake..-G"NMakeMakefiles"-DCMAKE_BUILD_TYPE=Debug...--CheckforworkingCcompiler:C:/ProgramFiles(x86)/MicrosoftVisualStudio9.0/VC/bin/cl.exe--CheckforworkingC
我的应用程序运行大约4小时后出现此错误。我不知道为什么会这样。该错误发生在windows7和windowsXP系统上。抱歉,我没有更多信息。我的应用程序运行大约4次后才收到此错误消息:MicrosoftC++可视化运行时库运行时错误!程序:XXXXX.exe此应用程序已请求运行时以异常方式终止它。请联系应用程序的支持团队以获取更多信息。任何帮助都会很棒,谢谢。一切顺利 最佳答案 调用了terminate()函数。MSDN记录了以下可能性:无法为抛出的C++异常找到匹配的捕获处理程序。在堆栈展开期间,析构函数抛出异常。抛出异常后堆栈损
我在Windows7上安装了UnxUtils。但是当我尝试在cmd.exe中使用find时,调用的是system32/中的Windowsfind.exe。我如何告诉Windows更喜欢UnxUtils中的find.exe而不是Windows的find? 最佳答案 您可以通过将对可执行文件的引用添加到“路径”系统变量来实现此目的。1)在“开始”菜单中右键单击“计算机”。2)选择“属性”3)点击“高级系统设置”4)点击“环境变量”5)选择“Path”系统变量6)点击“编辑”7)将UnxUtilsbin目录的路径添加到路径的开头:即:C:
我正在尝试修复自定义构建的Qt的安装。我正在使用来自thisverysimilarquestion的qt.conf.但是,CMake2.8.7仍然无法找到moc、uic和rcc。CMakeErroratC:/ProgramFiles(x86)/CMake2.8/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:97(MESSAGE):CouldNOTfindQt4(missing:QT_MOC_EXECUTABLEQT_RCC_EXECUTABLEQT_UIC_EXECUTABLE)(foundsuitableexa
我需要在我的机器上安装pyproj,它给出了上述错误。我猜其他使用C++代码的python组件也是一样的:我的情况:Win764位运行。已安装:VS2008表达python2.7的MSVS补丁http://www.microsoft.com/en-us/download/confirmation.aspx?id=44266适用于Windows7和.NETFramework3.5SP1的MicrosoftWindowsSDKhttp://www.microsoft.com/downloads/en/details.aspx?FamilyID=c17ba869-9671-4330-a63e