草庐IT

CMAKE_MAKE_PROGRAM

全部标签

windows - 在 cmake 查找模块中处理发布/调试库的最佳实践

我正在尝试为外部库编写一个cmake查找模块,并使其在Windows下运行。对于带有调试和发布标志(-MD和-MDd)的编译版本以及不同的编译器版本,该库具有不同的路径。例如有以下路径:C:/cplex/lib/x86_windows_vs2012/stat_mda/cplex1262.libC:/cplex/lib/x86_windows_vs2012/stat_mdd/cplex1262.libC:/cplex/lib/x86_windows_vs2013/stat_mda/cplex1262.libC:/cplex/lib/x86_windows_vs2013/stat_mdd/

windows - 当你有很多 32 位和 64 位操作系统的 PC 时,如何选择 "program files"文件夹?

当你有很多32位和64位操作系统和32位或64位应用程序的PC时,如何选择“程序文件”文件夹?我制作了一个文件来创建firebird数据库的备份,但我需要帮助。有时会有一台64位操作系统和32位firebird或winrar的PC。有时,PC具有64位操作系统和64位应用程序,或者32位操作系统具有32位应用程序。如何让这段代码更好地工作?ECHOOFFsetisc_user=sysdbasetisc_password=masterkeydate/t>>tempo.txttime/t>>tempo.txtmode20,5delos.txt/qwmicosgetosarchitectur

windows - Powershell 脚本 : Can't read return value of executed program

我正在使用PowerShell运行一个脚本,该脚本执行wget以获取网页(一个简单的数据库导入脚本)并分析其输出(错误消息或“OK”)。我正在使用thispreviousquestion的答案中的代码我的。$a=c:\path_to_wget\wget.exe--quiet-O-"http://www.example.com/import_db"$rc=$a.CompareTo("OK")exit$rc当wget操作的结果是404-并且wget可能返回错误级别1或127-我从PowerShell收到以下错误消息:Youcannotcallamethodonanull-valuedexp

windows - 安装到 Program Files 的应用程序是否有权修改其文件夹?

如果我将我的应用程序安装到程序文件中,它是否始终能够在其安装目录中创建和写入文件?它似乎适用于许多不同版本的Windows,但在某些情况下它不起作用吗?我主要使用这种方法进行日志记录。如果这不是正确的方法,是否有更好的记录位置?注意:我的安装程序需要管理员权限才能运行,并且它向安装目录中的所有用户授予完全访问权限。 最佳答案 应用程序不以用户身份运行,用户以用户身份运行。如果您将应用程序安装到ProgramFiles中,并且假设您需要提升权限才能执行此操作,那么当您的标准用户随后运行该应用程序时,该用户就是需要权限的用户。应用程序以

c++ - Windows下编译时如何使用CMake的pkg_search_module()?

我正在编写一个使用SDL2和CMake的游戏。为了链接和包含SDL2,我使用以下CMake代码:include(FindPkgConfig)pkg_search_module(SDL2REQUIREDsdl2)target_link_libraries(MYLIBSDL2)在Linux(Fedora)下编译时,这非常有效。但是Windows呢?我没有DLL/a文件和包含文件夹的标准系统位置。甚至没有pkg​​-config。这是我得到的错误:CouldNOTfindPkgConfig(missing:PKG_CONFIG_EXECUTABLE)checkingforoneofthemo

c++ - 将 GLEW 添加到项目 (CMake)

我想将glfw和glew链接到我的图形编程项目。添加glfw非常简单,我按照他们网站上的说明进行操作。用glfw创建一个窗口效果很好。但是,我看不出添加GLEW的CMakeLists.txt有什么问题。该程序给出错误:“GL/glew.h:没有这样的文件或目录”。我的CMakeLists.txt:cmake_minimum_required(VERSION3.5)project(Starting)find_package(OpenGLREQUIRED)set(GLFW_BUILD_DOCSOFFCACHEBOOL""FORCE)set(GLFW_BUILD_TESTSOFFCACHEB

windows - 在 cmake/Visual Studio 项目中调试/运行可执行文件

我们正在从手动管理的VisualStudio项目转向跨平台cmake。我们曾经打开一个解决方案文件,选择一个项目作为“启动目标”,然后按Ctrl+F5或F5调试或运行。现在cmake有了这个安装概念。它需要我运行安装目标。但安装项目没有设置任何可执行文件,因此不能用于启动调试。如果我将我的可执行项目设置为启动目标,那么安装将不会运行,所以我无法调试。我相信有更好的方法来做到这一点。有什么想法吗? 最佳答案 如果您想要分发您的应用程序,您应该只需要运行INSTALL目标。如果您选择一个构建可执行文件的项目(因此它在CMakeLists

windows - 调用 "set"后,Cmake "find_path"对同一变量不起作用

在Cmake模块中,我试图找到不同的路径。在某些情况下,我想在最初使用相同变量调用“find_path”后“设置”一个变量:#generalsearchforthisincludedirfind_path(LIBRARY_INCLUDE_DIRNAMESLibraryName/LibraryHeader.h)#specificoptionenabledbyuserif(USE_OTHER_LIB)find_path(OTHER_LIB_ROOT_DIRNAMESOtherLib/OtherLib.h)set(LIBRARY_INCLUDE_DIR${OTHER_LIB_ROOT_DIR

c# - 找不到部分路径 'C:\Program Files (x86)\IIS Express\~\TextFiles\ActiveUsers.txt'

我尝试了多种方法从名为TextFiles的文件夹访问我的VisualStudio2012解决方案中的文本文件using(System.IO.StreamWriterfile=newSystem.IO.StreamWriter(@"~/TextFiles/ActiveUsers.txt",true)){file.WriteLine(model.UserName.ToString());}但是一直报错Couldnotfindapartofthepath'C:\ProgramFiles(x86)\IISExpress\~\TextFiles\ActiveUsers.txt'.不知道哪里错了

用make_shared防止复制构建

我有一个经理类,允许客户端通过两种方法添加组件:一个没有参数,即默认构造组件,而另一个则采用了rvalue(应允许客户端使用组件的自定义构造函数)。这是我想到的代码:templatestd::shared_ptrAddComponent(){returnAddComponent(TComponent{this});}templatestd::shared_ptrAddComponent(constTComponent&&obj){autoptr=std::make_shared(obj);vec.push_back(ptr);returnptr;}我的问题是std::make_shared始终