草庐IT

cmake编译

全部标签

c++ - 尽管设置了前缀路径,但 cmake find_packages(QT5) 不使用正确版本的 QT 二进制文件

我正在寻找如何使用clionIDE在cmake中编译QT动态链接项目。我遇到了以下项目设置的问题。我关注了this教程、编译并使用mingw32位和一个工具包运行它,该工具包链接到使用mingw-w64编译的Qt(其qmake文件位于C:/msys64/mingw64/bin中)我的项目设置如下所示:CMakeLists.txtmain.cppnotepad.cppnotepad.hnotepad.ui在clion中,我使用了以下cmake文件来构建这个项目。cmake_minimum_required(VERSION3.7)set(CMAKE_PREFIX_PATHC:/msys64

windows - 编译 GCC 7 : error: C++ preprocessor "/lib/cpp" fails sanity check

尝试从源代码构建GCC7.1.0。这不是我的第一次,它曾经在过去的GCC版本中工作。../configure--build=x86_64-w64-mingw32--host=x86_64-w64-mingw32--target=x86_64-w64-mingw32\--prefix=/c/mingw64--with-sysroot=/c/mingw64\--with-gmp=/c/mingw64/gmp--with-mpfr=/c/mingw64/mpfr--with-mpc=/c/mingw64/mpc\--with-isl=/c/mingw64/isl\--disable-nls-

python - 在 Windows 上使用 CMake 编译 Tensorflow 失败,文件 version_info.cc 未找到

类似于this问题和相关that问题,我想从源代码在Windows上构建Tensorflow以启用deactivatedbydesigntosupportasmanymachinesaspossible的CPU优化.从建议BazelisnotsupportedonWindows的官方文档,我得出结论,CMake构建是可行的方法。我找到了CMake说明here,我假设通过查看Tagv1.1.0,我可以构建它。但是按照说明操作后,我收到以下错误消息:BuildFAILED."C:\Users\Alex\Repositories\tensorflow\tensorflow\contrib\c

python - 需要帮助使用 pyinstaller 编译 python

我想在运行Windows7+的机器上分发我的Python代码。它由几个.py文件组成,主要在cprofiles_lmfit.py中,还有一个文件cprofiles.ui来描述GUI和一个.pdf文件。我遇到了困难(例如参见builda.exeforWindowsfromapython3scriptimportingtheanowithpyinstaller)但最终通过命令行使用pyinstaller制作了一个合适的二进制文件:pyinstaller--noupx--onefile--add-data="cprofiles.ui;."cprofiles_lmfit.py除了上面链接中描述

c++ - Clion 的 "Call to std::pair is ambiguous"但可以编译代码

我有一个函数可以在这种状态下编译,但给出“配对调用不明确”,但仅在ClionIDE中,编译没有问题,如果我添加任何随机的东西,警告就会消失,即使它最终导致编译器错误。std::pair>Config::foo(conststd::string&sec,conststd::string&key)const{returnstd::pair>(hasSection(sec)?(hasKey(sec,key)?Status::Success:Status::MissingKey):Status::MissingSec,hasKey(sec,key)?config_map.find(sec)->

windows - 在 Windows 上使用 CMake 和相对路径创建交叉编译的存档(静态库)

使用CMake,我能够交叉编译并创建一个依赖于其他静态库的静态库。但是,生成的静态库不包含其他静态库的“内容”。因此,我想创建一个存档,即静态库,它实际上包含所有内容(所有目标文件)。为此,我尝试在CMakeLists.txt中使用以下指令:add_custom_target(combinedALLCOMMAND${CMAKE_AR}rclibcombined.a$$$)CMAKE_AR设置为我的交叉编译器(存档器?)所在的绝对路径;它的值类似于:c:/arm/arm-none-eabi-ar.exe但是,当我尝试构建项目(make&&makeinstall)时,我收到以下错误:'..

windows - 在 x64 Windows 上使用 CMake、Ninja 和 Clang 构建 x86 应用程序

我想在我的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

c++ - 我如何告诉 cmake 找到 Windows Media Foundation?

要让cmake链接到(例如)boost::thread我可以这样写:find_package(BoostREQUIREDCOMPONENTSthread)然后:target_link_librarie(${target}PRIVATEBoost::thread)如何使用WindowsMediaFoundation库执行此操作? 最佳答案 有CMake处理依赖关系的三种基本方法:CMake附带一个bunchoffindmodulesforfindingexternallibraries.您对find_package(Boost...)

windows - 在 cmake 中强制构建 x64 位

我有一个不应在x86上以32位模式构建的CMake项目,而且我终其一生都想不出如何防止这种情况发生。现在,它出现cmake,默认情况下在Windows上采用32位构建。如何让我的CMake项目始终构建64位变体,无需将命令行参数传递给CMake?或者,如果CMake试图构建为32位,我该如何让CMake中止? 最佳答案 您可以将以下代码添加到我们的CMakeLists.txt以确保只允许x64构建:if(NOTCMAKE_SIZEOF_VOID_PEQUAL8)message("Pleaseswitchtox64build.")re

c++ - CMake 生成的程序无法在 Windows 上链接 : tries to link to non-existent file

我正在尝试在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}"