小编JBa*_*erU的帖子

find_package 用于使用 Visual Studio 进行调试和发布

我正在纠结如何在我的 cmake 项目中包含第三方库。目前我构建了 Poco 和一堆其他人,它们都生成了我与 find_package 一起使用的各自的 Config.cmake。我有一个包装构建脚本,它构建我的所有依赖项并将它们分别打包以进行调试和发布(我不想调整它们的 cmake 脚本,除非我真的真的需要因为维护)。

我以为我可以这样做:

find_package(Foo
            HINTS "${CMAKE_SOURCE_DIR}/some/path/debug/libFoo/lib/cmake"
            REQUIRED
)
get_target_property(LIB_FOO_DEBUG lib_foo LOCATION)

find_package(Foo
            HINTS "${CMAKE_SOURCE_DIR}/some/path/release/libFoo/lib/cmake"
            REQUIRED
)
get_target_property(LIB_FOO_RELEASE lib_foo LOCATION)

set(LIB_FOO_LIBRARIES optimized "${LIB_FOO_RELEASE}" debug "${LIB_FOO_DEBUG}")

message("LIB_FOO_LIBRARIES: \"${LIB_FOO_LIBRARIES}\"")
Run Code Online (Sandbox Code Playgroud)

这产生: LIB_FOO_LIBRARIES: "optimized;C:/path/to/proj/some/path/debug/libFoo/lib/foo.lib;debug;C:/path/to/proj/some/path/debug/libFoo/lib/foo.lib"

似乎缓存了目标 Foo 对 find_package 的第一次调用,这不是我真正想要的。

我会以错误的方式解决这个问题吗?如何通过 Visual Studio 生成器正确使用第三方库?

任何指针都非常感谢。

cmake visual-studio

6
推荐指数
1
解决办法
3821
查看次数

降价签名行

我正在使用markdown编写文档,我使用pandoc将其导出为PDF.在文档的最后,我需要在PDF的打印副本上留出签名空间.

我试图找到如何绘制一个固定宽度的线,但到目前为止我只能逃避下划线字符,这感觉不太正确.就好像我错过了一些东西,这可能不是那么不寻常.

非常感谢任何帮助或指示.

markdown pandoc

5
推荐指数
1
解决办法
1556
查看次数

标签 统计

cmake ×1

markdown ×1

pandoc ×1

visual-studio ×1