Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
cmake force config=库的版本 我有一个CGED C++项目,它由几个可执行文件和DLL组成。因为DLL被注入到另一个应用程序中,所以它们必须使用config=Release构建,即使可执行文件是使用调试信息构建的_C++_Windows_Dll_Cmake - Fatal编程技术网

cmake force config=库的版本 我有一个CGED C++项目,它由几个可执行文件和DLL组成。因为DLL被注入到另一个应用程序中,所以它们必须使用config=Release构建,即使可执行文件是使用调试信息构建的

cmake force config=库的版本 我有一个CGED C++项目,它由几个可执行文件和DLL组成。因为DLL被注入到另一个应用程序中,所以它们必须使用config=Release构建,即使可执行文件是使用调试信息构建的,c++,windows,dll,cmake,C++,Windows,Dll,Cmake,有没有办法强迫cmake这么做?在调用add\u library()之前,我尝试了set(CMAKE\u BUILD\u TYPE“Release”),但没有成功 非常感谢您的帮助。在windows上,构建库时,您必须另外指定配置 例如: cmake --build {BUILDDIR} --config Release 另请参见:不是最好的,而是 target_compile_options(libmylib PRIVATE "-O3") 完成任务。为什么库必须在发布模

有没有办法强迫cmake这么做?在调用
add\u library()
之前,我尝试了
set(CMAKE\u BUILD\u TYPE“Release”)
,但没有成功


非常感谢您的帮助。

在windows上,构建库时,您必须另外指定配置

例如:

cmake --build {BUILDDIR} --config Release
另请参见:

不是最好的,而是

target_compile_options(libmylib PRIVATE "-O3")

完成任务。

为什么库必须在发布模式下构建?你说的注射是什么意思?如何“注入”库?我正在使用将DLL注入另一个进程。如果DLL是用config=Debug构建的,那么这将失败。是的,我知道这一点,我正在传递这一点。然而,我正在用这个命令构建所有文件。因此,如果我使用
cmake--build{BUILDDIR}--config Debug
构建它们,我希望DLL忽略配置参数,而是使用
--config Release
构建。请您解释一下为什么这不是最好的方法,或者为什么它可以工作,以及为什么这里需要
-O3
。为什么这不是最好的方法?->最好是通过CMAKE_CXX_FLAGS_发布,而不仅仅是“-O3”。2.为什么是“O3”?->在发布之前,我假设上面的问题是“优化的”。使用“O3”,大多数编译器(clang/gcc/msvc)将执行优化的代码生成。