草庐IT

CMAKE_CURRENT_LIST_DIR

全部标签

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

windows - 在cmd中使用dir获取没有路径的文件夹名称

通过使用:dir/s/b/o:n/a:d>foldername.txt我得到以下输出:D:\Project\Java\MyNameD:\Project\Java\Object但我希望输出看起来像这样:MyNameObject输出必须是没有路径的文件夹名称? 最佳答案 FOR循环具有变量修饰符,因此只能显示文件名和扩展名。请注意,目录可以有扩展名。使用FOR/?获取有关变量设置的信息。FOR/F"usebackqtokens=*"%dIN(`DIR/S/B/A:D/O:N`)DO(ECHO"%~nxd")或者,将名称不加引号放入文件中

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 - 如何使用 dir 命令只显示没有扩展名的文件名

我正在尝试列出不包括扩展名的文件名,我想要什么:File1File2File3目前情况:File1.txtFile2.txtFile3.txt我试过用@echooffdir/A:-D/Bpause但它不起作用。我在批处理文件和命令提示符下都试过了。我使用的命令是否正确? 最佳答案 使用FOR和ECHO来实现这一点例如,假设扩展名总是.txt:for%fin("*.txt")do@echo%~nf我们不使用DIR,而是使用FOR命令遍历列表并将每个命令发送到ECHO,并在%f中插入“~n”选项,以使扩展名不显示。另一种选择是FORFI

使用 list 在 LoadLibrary 中搜索 Windows 路径

如果您在没有路径的情况下调用LoadLibrary(例如,LoadLibrary("whatever.dll")),Windows通常会遵循其标准搜索算法,与它使用的算法相同查找EXE。我的问题是:假设应用程序list指定指定系统DLL的特定版本,例如comctl32.dll6.0。在这种情况下,LoadLibrary("comctl32.dll")会立即转到正确的并排文件夹,还是仍然执行某种搜索? 最佳答案 来自Microsoft:ApplicationscancontrolthelocationfromwhichaDLLislo

windows - 如何为 Windows 安装程序创建 list ?

我们有一个应用程序安装程序,必须以管理员权限下载和运行,就像许多其他安装程序一样。但是,安装程序未命名为“setup.exe”,因此Windows不会自动将其检测为需要提升才能运行。坦率地说,更改安装程序名称以使事情正确提升听起来很困惑。Thisarticle谈论了很多关于UAC和提升的内容,它说您可以使用list来制作需要授权的东西。所以,我们只想为我们的安装程序创建一个list。但是,我们如何确保list存在?如果用户只是下载our_application_v13.exe,我们如何确保他们也获得list?据我所知,在这种情况下,list必须是名为“our_application_v

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

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

windows - "Run as administrator"和带有 requireAdministrator 的 list 有什么区别?

我编写了一个包含requireAdministratorlist的程序。在启用了UAC的Windows7系统上,Windows会弹出一个对话框,询问权限,这是应该的。效果很好。如果用户通过右键单击我的程序并选择“以管理员身份运行”来启动我的程序,那么Windows7也会弹出一个对话框询问权限。但是,在我的程序的一些更深奥的部分中,我的程序的运行方式略有不同。那么“以管理员身份运行”和带有requireAdministrator的list之间有什么区别?任何指向描述差异的文档的链接都将不胜感激。编辑:这是启用了UAC。编辑:如下所promise的是对我所看到的差异的完整解释。我正在使用E

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# - DataContractJsonSerializer - 反序列化 List<object> 中的 DateTime

我在使用System.Runtime.Serialization.Json.DataContractJsonSerializer时遇到问题反序列化List中包含的DateTime实例的类.我似乎无法让DateTime反序列化回原始类型。DataContractJsonSerializer始终将其反序列化为格式为"/Date(1329159196126-0500)/"的字符串类型.如果我使用强类型List运行它,它会很好地序列化和反序列化。,但是我正在寻找方法让序列化器在遇到object的简单列表或数组时识别并正确反序列化DateTimes.请注意,DateTimes是此列表将永远包含的