gpt4 book ai didi

c++ - ( __ printf __ ) 在 DLL (programfiles(x86)\codeblocks\mingw\bin\as.exe) 中找不到

转载 作者:行者123 更新时间:2023-12-02 11:00:24 27 4
gpt4 key购买 nike

我正在尝试学习用于跨平台 GUI 开发的 wxwidgets,但是我遇到了一个问题。

当尝试使用 mingW32 构建 wxwidgets 时,我遇到了错误。我安装了带有代码块 16.1 的 minGW32(工作正常),将 PATH 添加到系统环境。从 wxwidgets.org 下载所有可能性。当我尝试使用 mingw32 从 cmd 编译 wxwidgets 库时,他们都不想编译。我进入 wxwidgets/build/msw ,输入了几个版本,但要提到一个:

mingw32-make -f makefile.gcc BUILD=release SHARED=1 MONOLITIC=1 UNICODE=1

(在没有共享、单片、甚至 Debug模式的情况下尝试过)

关于错误:
( __ printf __ ) cannot be found in DLL
(programfiles(x86)\codeblocks\mingw\bin\as.exe)

我有exe,尝试从头开始重新安装所有内容几次。我正在使用 Windows 10。
gcc -c -o gcc_mswudll\wxregex_regcomp.o  -O2 -mthreads  -DHAVE_W32API_H -DNDEBUG -I..\..\include -I..\..\lib\gcc_dll\mswu -D__WXMSW__  -D_UNICODE   -MTgcc_mswudll\wxregex_regcomp.o -MFgcc_mswudll\wxregex_regcomp.o.d -MD -MP ../../src/regex/regcomp.c
makefile.gcc:5778: recipe for target 'gcc_mswudll\wxregex_regcomp.o' failed
mingw32-make: *** [gcc_mswudll\wxregex_regcomp.o] Error 1

更新:

重新安装并删除与此相关的所有内容后,问题发生了变化。我使用的代码,尝试不带标志,带标志但也只有“-std=gnu++11”:
mingw32-make -f makefile.gcc SHARED=1 UNICODE=1 BUILD=release CXXFLAGS="-fno-keep-inline-dllexport -std=gnu++11"

新的错误代码:
gcc -c -o gcc_mswudll\wxregex_regcomp.o  -O2 -mthreads  -DHAVE_W32API_H -DNDEBUG -I..\..\include -I..\..\lib\gcc_dll\mswu -D__WXMSW__  -D_UNICODE   -MTgcc_mswudll\wxregex_regcomp.o -MFgcc_mswudll\wxregex_regcomp.o.d -MD -MP ../../src/regex/regcomp.c
gcc: error: CreateProcess: No such file or directory
makefile.gcc:5702: recipe for target 'gcc_mswudll\wxregex_regcomp.o' failed
mingw32-make: *** [gcc_mswudll\wxregex_regcomp.o] Error 1

关于我无法使用代码块的内置编译器编译 wxwidget 的任何信息?没有插件?

最佳答案

删除所有内容:wxWidgets、Code::Blocks 和 MinGW 或 TDM-GCC
* 下载并安装 C::B, 没有 MinGW 或 TDM
* 从 here 下载 TDM-GCC .如果您同时安装 32 位和 64 位版本,我建议您将它们安装在两个不同的文件夹中。
* 下载 wxWidgets
打开命令窗口。假设您在“C:\TDM32”有 TDM,在“C:\myWX”有 wxWidgets。
使用这些命令来编译 wxWidgets:

PATH=%PATH%;C:\TDM32\bin
cd C:\myWX\build\msw
mingw32-make -f makefile.gcc BUILD=release SHARED=1 MONOLITIC=1 UNICODE=1

这应该只构建一个 .dll包含大多数 wxWidgets 的文件。不是 OpenGL。
如果您更喜欢几个 .dll不要使用“Monolitic=1”
如果您不想使用 wx'dll,而是将静态 '.a' 文件添加到您的应用程序中,请不要使用“shared=1”
如果您想在使用调试器时单步执行 wxWidgets 代码,请使用“BUILD=debug”
如果你想要 OpenGL 使用“USE_OPENGL=1”
要使用 C++11 构建 wxWidgets,请使用 CXXFLAGS="-std=gnu++11"
对于您自己的应用程序,您必须告诉 C::B:
* 在哪里可以找到 TDM 编译器
* 在哪里可以找到 wxWidgets header
* 在哪里可以找到 wxWidgets 库(.dll 或 .a,取决于您是否使用“共享”编译)

关于c++ - ( __ printf __ ) 在 DLL (programfiles(x86)\codeblocks\mingw\bin\as.exe) 中找不到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43443046/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com