草庐IT

vs-cmake-examples

全部标签

c++ - 为 Windows VS2013 构建 Boost 正则表达式

我只需要非header的BoostRegex库。我在VisualStudio2013上使用Boost1_67_0。我还需要为x86和x64构建这个库。我已经完成了构建boost的步骤,但无法找到构建此库的确切方法。非常感谢任何帮助。谢谢。 最佳答案 我假设您已经启动并拥有一个b2.exe。运行b2--help应该会有帮助。我通常使用的特定命令是b2--with-regexstage。我认为默认情况下较新版本的Boost应该构建调试和发布32位和64位库,但如果没有,那么您可以尝试添加address-model=32,64命令。

c++ - 使用 CMake 以 C++/WinRT 为目标

我正在编译一个基于CMake的第三方C++共享库,以便在UWP应用程序中使用。根据MSDN上的文档,我一直在使用标志-DCMAKE_SYSTEM_NAME=WindowsStore-DCMAKE_SYSTEM_VERSION=10.0进行构建。虽然这对于标记任何不允许或不可用的API非常有用,但我的理解是它设置了/ZW标志,从而启用C++/CX。除了一些小问题(例如:库处理网络,并使用变量名称interface显然是C++/CX的保留关键字),这大部分都很好。更根本的是,由于我正在构建标准C++库,所以我宁愿使用标准C++(C++/WinRT)。有没有办法告诉CMake以Windows

windows - VS_VERSION_INFO 可以添加到非 exe 文件吗?

我的Windows同事问我是否可以修改我的非Windows二进制文件,以便在Windows下检查它们的“属性”时,他们可以看到一个“版本”选项卡,就像在VisualStudio中显示的那样编译后的exe.具体来说,我有一些gzip压缩的二进制文件,想知道是否可以修改它们以满足此需求。如果有更好的方法,那也很好。有没有办法让我的二进制文件看起来像exe文件?我尝试简单地将VS_VERSION_INFOblock从notepad.exe附加到我的一个二进制文件的末尾,希望Windows扫描该block,但它没有用。我尝试编辑有关作者、主题、修订等的其他信息。这不会修改文件,它只是为NTFS

windows - VS C++ 2008 Express 和 Professional 之间的可执行文件大小差异

在VC2008Express和VC2008Professional(均为SP1)中构建我们的应用程序时,我们在这里看到了大小差异。VC2008Professional构建的EXE大约小了10%+。我们使用的是完全相同的项目文件,因此所有设置都是相同的,而且我们还在使用相同平台SDK、DLL等安装的相同操作系统上构建。代码生成是否存在已知差异或可能导致这种差异的原因? 最佳答案 并非专业版中可用的所有优化都在速成版中。vaguebutofficialword来自微软:VisualC++2008ExpressEditioninclude

windows - 我如何在windows平台下使用gtk和cmake?

这是FindGTK.cmake:#don'tevenbotherunderWIN32IF(UNIX)...ENDIF(UNIX)所以它根本不打算在Windows中工作,即使我已经在几天前安装了gtk+-bundle_2.20.0-20100406_win32。我现在应该如何正确使用gtk和cmake? 最佳答案 鉴于您使用的是GTK2.20.0(即版本>=2),您应该使用GTK2而不是GTK。但是,如果FindGTK2有同样的问题,那么你可以使用find_path找到头文件,你可以使用find_library找到关联的库文件。将它们

windows - 使用 VS 编译器和链接器构建 Windows 驱动程序

每当我重新审视使​​用VisualStudio的编译器和链接器构建Windows驱动程序的主题时,我都会想到两件事:官方不支持。事实上,整个互联网上的共识是构建Windows驱动程序的正确方法是使用Windows中包含的编译器、链接器和BUILD工具驱动程序套件。但是,VisualStudio2008包含/DRIVER链接器选项,其描述如下:使用/DRIVER链接器选项构建WindowsNT内核模式驱动程序。它的作用是什么?如果不推荐使用它来构建驱动程序,为什么将它包含在VisualStudio中?有效。我几乎不敢大声说出来,以免招致正义的内核开发人员的愤怒,但事实是,使用Visual

windows - 关于为 VS2008 组织跨平台库的最佳方式的任何建议

好的,我正在编写一个将在unix和windows之间分片的库。我整天都在使用unix,所以代码的布局没有问题。这就是我如何向使用VS2008的Windows人员展示它。自从我做windowsdev(咳嗽3.1)以来已经有很长时间了,所以脱节了。我注意到VS2008创建了很多目录和子目录(所有这些似乎都没有)。好吧,现在进入真正的问题-我认为cmake似乎是一个很好的简单便携解决方案-但是Windows人员包含库的说明呢。Unix人员通过命令行知道如何添加库-但是当您添加IDE时,这一切对我来说都变得(过于)复杂所以问题的核心是如何从顽固的unix人的角度为共享的unix/windows

c++ - 如何根据 cmake 中的配置类型更改库加载*路径*?

我有一个CMake项目,我想在其中链接正确的库(调试构建获取调试库;发布构建获取发布库),而无需手动覆盖。(例如,一旦cmake构建了msbuild位,我希望CMake生成的所有四个目标(调试、发布等)能够在不再次运行CMake的情况下构建)CMake文档(和otherthingsI'vefoundaboutthis)包含以下内容:SET(LINK_LIBRARYoptimizedFoodebugFoo_d)target_link_libraries(MyEXE${LINK_LIBRARY})但是,这会更改根据文件名链接的库。举例来说,我正在使用CMake中包含的Google测试位(F

c++ - 无法使用 CMake 生成 OpenCV 项目

每次尝试构建时,我都会收到错误:CMake错误:源目录“E:/Code/Test”似乎不包含CMakeLists.txt。为用法指定--help,或按CMakeGUI上的帮助按钮。这没有多大意义,因为我很清楚该目录中包含CMakeLists.txt。我试着在互联网上寻找这个问题,但似乎我可能是唯一遇到过这个问题的人。以前有人遇到过这个问题吗?有没有更简单的方法来集成OpenCV?我有VisualStudio的拷贝,但OpenCVwiki说不再支持它。我在Windows7上,使用CMake-GUI可以在此处找到我尝试开始使用此指南所遵循的指南:http://redkiing.wordpr

c++ - 使用 native /C++ 代码在 VS2010 中创建简单 COM 对象的最简单方法是什么?

这是我发布的先前问题的后续问题(请参阅here)。我正在尝试从在HTML页面中运行的Javascript调用我的native/C++代码。所引用问题的答案是创建一个COM对象。然后,Javascript可以创建COM对象的实例并调用其上的方法以获取native/C++代码。所以现在我只剩下尝试创建一个简单的COM对象来接受来自Javascript的调用。看起来要走的路是创建一个DLL并将COM对象放入该DLL中。多年前,我阅读了大量有关COM的书籍,但从那时起就试图忘记它:)现在我很头疼,想知道如何在不成为COM专家的情况下轻松地解决这个问题。是否有推荐的使用COM对象设置DLL的简单