草庐IT

CMAKE_MAKE_PROGRAM

全部标签

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

java - 为什么我的应用程序放在 C :\Program Files on windows 10 but not on windows 7? 时需要管理员权限

我的JavaRCP应用程序(App.exe)最近从32位转换为64位。由于它是一个64位应用程序,我使用NSIS创建了一个安装程序,它将所有必需的文件与App.exe一起转储到C:\ProgramFiles中。当App.exe运行时,当应用程序试图在编辑模式下打开文件(在C:\ProgramFiles中)以转储结果/日志时,我收到安全异常(访问被拒绝)。当我以管理员身份运行App.exe时,它工作正常。即使在非管理员模式下运行,它在Windows764位机器上也能正常工作。知道如何在非管理员模式下运行App.exe吗?Note:ThisisnottheproblemofNSISassa

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}"

c++ - 如何使用 CMake 将 NMake 从 VS9 切换到 VS10

在我的电脑上,我有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

windows - 使用 CMake 查找 Qt : Missing moc, uic, rcc

我正在尝试修复自定义构建的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

windows - Windows 下的 GNU Make : Check for cygwin in PATH

我一直在Windows环境中整理一个makefile供我的团队使用。我决定使用MinGW的makeforWindows版本。我将该可执行文件及其依赖项放入一个应该位于每个人的PATH变量中的存储库位置。为简单起见,可执行文件已重命名为“make.exe”。然后我意识到,当某人的路径中有cygwin的bin文件夹时,我必须考虑到这种情况。echo、rmdir和mkdir等命令将从cygwin的bin文件夹中调用echo.exe、rmdir.exe和mkdir.exe。这意味着我需要适本地捕捉这种情况并为每个命令使用不同的标志。我在这里看到三种情况:Cygwin的bin路径位于存储库中ma

windows - 在 C :\Program Files (x86)\MyApp\myapp. cfg 中写入配置文件,与管理员权限

我已经为我的软件制作了安装程序(使用InnoSetup),最终安装在C:\ProgramFiles(x86)\MyApp\myapp.exe像往常一样在Windows平台上运行,并且运行良好。当我的软件试图在此处写入其配置文件时出现问题:C:\ProgramFiles(x86)\MyApp\myapp.cfg这里出现了一个Permissiondenied错误!我找到的唯一解决方案是“以管理员身份运行软件”,但我不喜欢这个解决方案:我不想让最终用户每次都必须执行“以管理员身份运行”他们将使用该软件。是否有一个干净的解决方案可以在C:\ProgramFiles(x86)\MyApp\mya