Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/149.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
C++ 在MinGW中使用-j(作业)选项生成wxWidgets时出错_C++_Compilation_Makefile_Mingw_Wxwidgets - Fatal编程技术网

C++ 在MinGW中使用-j(作业)选项生成wxWidgets时出错

C++ 在MinGW中使用-j(作业)选项生成wxWidgets时出错,c++,compilation,makefile,mingw,wxwidgets,C++,Compilation,Makefile,Mingw,Wxwidgets,我正在使用以下命令行为Windows编译WxWidgets: mingw32 make-f makefile.gcc BUILD=release SHARED=1-j6 最后一个参数(-j)用于通过运行来加速编译,在我的例子中,它充分利用了我的6核处理器。单线程构建通常需要很长时间 但是,在按下Enter键时,我得到以下输出: 如果不存在gcc\u mswudll mkdir gcc\u mswudll 如果不存在..\\ lib\gcc\u dll mkdir..\\ lib\gcc\u d

我正在使用以下命令行为Windows编译WxWidgets:

mingw32 make-f makefile.gcc BUILD=release SHARED=1-j6
最后一个参数(
-j
)用于通过运行来加速编译,在我的例子中,它充分利用了我的6核处理器。单线程构建通常需要很长时间

但是,在按下Enter键时,我得到以下输出:

如果不存在gcc\u mswudll mkdir gcc\u mswudll
如果不存在..\\ lib\gcc\u dll mkdir..\\ lib\gcc\u dll
如果不存在..\\ lib\gcc\u dll\mswu\wx\setup.h copy..\\包括\wx\msw\setup.h..\\ lib\gcc\u dll\mswu\wx\setup.h
gcc-c-o gcc\u mswudll\wxregex\u regcomp.o-O2-mthreads-DHAVE\u W32API\u H-DNDEBUG-I..\include-I..\lib\gcc\u dll\msw
u-D_uuwxmsw_uuuuuuuuuuUnicode-MTgcc_mswudll\wxregex_regcomp.o-MFgcc_mswudll\wxregex_regcomp.o.D-MD-MP../。/src/regex/
注册公司c
系统找不到指定的路径。
已复制0个文件。
makefile.gcc:5651:目标“..\..\lib\gcc_dll\mswu\wx\setup.h”的配方失败
mingw32 make:**[..\..\lib\gcc\u dll\mswu\wx\setup.h]错误1
mingw32 make:**正在等待未完成的工作。。。。
在包含自..\..\include/wx/defs.h:27:0的文件中,
from.././src/regex/regcustom.h:39,
from.././src/regex/regguts.h:38,
从.././src/regex/regcomp.c:33:
..\..\include/wx/platform.h:183:22:致命错误:wx/setup.h:没有这样的文件或目录
#包括“wx/setup.h”
^
编译终止。
makefile.gcc:5702:目标'gcc_mswudll\wxregex_regcomp.o'的配方失败
mingw32 make:**[gcc_mswudll\wxregex_regcomp.o]错误1
然后,如果我再次重复相同的命令,将显示以下输出:

如果不存在….\lib\gcc\u dll\mswu mkdir….\lib\gcc\u dll\mswu
如果不存在..\\ lib\gcc\u dll\mswu\wx\setup.h copy..\\包括\wx\msw\setup.h..\\ lib\gcc\u dll\mswu\wx\setup.h
gcc-c-o gcc\u mswudll\wxregex\u regcomp.o-O2-mthreads-DHAVE\u W32API\u H-DNDEBUG-I..\include-I..\lib\gcc\u dll\msw
u-D_uuwxmsw_uuuuuuuuuuUnicode-MTgcc_mswudll\wxregex_regcomp.o-MFgcc_mswudll\wxregex_regcomp.o.D-MD-MP../。/src/regex/
regcomp系统找不到指定的路径。
C
已复制0个文件。
makefile.gcc:5651:目标“..\..\lib\gcc_dll\mswu\wx\setup.h”的配方失败
mingw32 make:**[..\..\lib\gcc\u dll\mswu\wx\setup.h]错误1
mingw32 make:**正在等待未完成的工作。。。。
在包含自..\..\include/wx/defs.h:27:0的文件中,
from.././src/regex/regcustom.h:39,
from.././src/regex/regguts.h:38,
从.././src/regex/regcomp.c:33:
..\..\include/wx/platform.h:183:22:致命错误:wx/setup.h:没有这样的文件或目录
#包括“wx/setup.h”
^
编译终止。
makefile.gcc:5702:目标'gcc_mswudll\wxregex_regcomp.o'的配方失败
mingw32 make:**[gcc_mswudll\wxregex_regcomp.o]错误1
然后。。。如果我第三次尝试,编译将成功完成


问题:按照此过程并行构建WxWidgets可以吗,或者在以后使用编译的二进制文件时是否有可能导致问题?

不幸的是,MSW makefiles中确实存在一个bug,缺少对
设置
目标的各种库的依赖关系。首先执行
make setup\u h
,然后执行
make-jN
,应该是安全的

或者,您可以使用configure进行构建,正如本文中解释的,但仍然有效,然后只需
make-jN
就可以完美地工作