Visual Studio实现多核并行编译

成功解决严重性代码说明项目 文件 行禁止显示状态 错误 LNK1104 无法打开文件“opencv_world341d.obj”

 

1、安装VS组件后能够正常编译运行C++程序

2、配置VS2013和Opencv2.4.9

高版本的网上也许多教程,多甄别,正常配置完,一般不会有问题

自己配置完也出现过Opencv编译错误,新建空白工程后,能够正常运行,一时也摸不着头绪。

-----------------------------------------------------------------

问题已解决:OPENCV配置没有问题,本人在VS2017某些组件没装全的情况下,新建工程配置OPENCV,导致出现该错误

需要把VS一些列组件加载完成之后再再新建工程配置OPENCV

环境:win10 +Vs2017专业版+OPENCV3.4.1

1.添加了环境变量:

2.Debug->Microsoft.cpp.x64.userVC++录

 

3、附加依赖库

4、Release->Microsoft.cpp.x64.userVC++

配置完了,本地调试出现错误:

 

问题已解决:需要把VS一些列组件加载完成之后再再新建工程配置OPENCV

如果要将多个 CL.EXE 写入同一个 .PDB 文件,请使用 /FS

vs2013上编译工程出现上面的问题,通过以下方法解决:

1、 the same intermediate directory. 

在  配置属性 - > general->中级目录

$(Platform)\$(Configuration)\ 改为 $(Platform)\$(Configuration)\$(ProjectName)\

2、通过以上修改,错误变少了,但是还是有。

解决方案:修改项目属性 右击项目 --> "属性”

a . “C/C++” --> "常规” -->”调试信息格式” 设置为 “C7 兼容(/Z7)”

b. “C/C++” --> "代码生成” -->”启用字符串池” 设置为 “是(/GF)”

c. “链接器” --> "调试” -->”生成调试信息” 设置为 “是(/DEBUG)” 

 

3、还是有这种错位。继续在解决方案是为项目添加 /FS (Force Synchronous PDB Writes) 编译选项,具体位置在:

4/还有错位,然后在下列位置加 "/FS"

通过1、2、3、4步解决了问题。

后面发现这样做了,在解决方案中,对启动项目工程“重新生成”,还是会出现这个问题。感觉应该是没有找到根本原因。后来发现解决方案中有很多工程,单个工厂单独编译没有问题,启动项“重新生成”就会有问题。应该是多个工程并行编译的问题,改为单个编译。

参照 https://blog.csdn.net/hollyholly5/article/details/68062513/ 这个博客中的第4/5步。解决了问题。

Visual Studio实现多核并行编译

Visual Studio 大工程项目的编译时间较长,可以利用多核CPU的优势,实现并行编译,

设置并行编译方法示例如下:

1.在“ClassView”中选取某项目的“Properties(属性)” 。

2.在之后打开的对话框中,左侧选择 “C/C++”->“General(常规)”中将“ Multi-processor Compilation(多处理器编译)”打开。

3.接着,“C/C++”->“Code Generation(代码生成)”中将“Enable Minimal Rebuild(启用最小重新生成)”关闭。

4.在“Debug(调试)”中选取项目的“Options and Settings (选项和设置)”->“Projects and Solutions (项目和解决方案)”->“ Build and Run (编译与运行)”中设置“ maximum number of parallel project builds(最大并发C++编译数)”(即开发项目机器本身的CPU所包含的核数)。



上述参数设置好后,就可以实现Visual Studio的并行编译了。
posted @ 2021-09-08 11:33  CharyGao  阅读(161)  评论(0)    收藏  举报