gpt4 book ai didi

c++ - wxSmith 和 Code::Blocks 构建错误

转载 作者:太空宇宙 更新时间:2023-11-04 14:14:57 28 4
gpt4 key购买 nike

我最近开始在 Code::Blocks 10.05 上使用 wxSmith 开发 GUI,当我运行项目时,我还没有编写任何代码,只是 OnClose 函数,当我构建和运行我的项目时,我收到 4 个错误,找不到 -lwxmsw28d_core找不到 -lwxbase28d找不到 -lwxpngd找不到 -lwxzlibd。构建日志是:

-------------- Build: Debug in gui-test ---------------

Compiling: gui_testMain.cpp
Linking executable: bin\Debug\gui-test.exe
c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:\SourceCode\Libraries\wxWidgets2.8\lib\gcc_lib/libwxmsw28d_core.a when searching for -lwxmsw28d_core
c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:\SourceCode\Libraries\wxWidgets2.8\lib\gcc_lib\libwxmsw28d_core.a when searching for -lwxmsw28d_core
c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:\SourceCode\Libraries\wxWidgets2.8\lib\gcc_lib/libwxmsw28d_core.a when searching for -lwxmsw28d_core
c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lwxmsw28d_core
c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:\SourceCode\Libraries\wxWidgets2.8\lib\gcc_lib/libwxbase28d.a when searching for -lwxbase28d
c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:\SourceCode\Libraries\wxWidgets2.8\lib\gcc_lib\libwxbase28d.a when searching for -lwxbase28d
c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:\SourceCode\Libraries\wxWidgets2.8\lib\gcc_lib/libwxbase28d.a when searching for -lwxbase28d
c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lwxbase28d
c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:\SourceCode\Libraries\wxWidgets2.8\lib\gcc_lib/libwxpngd.a when searching for -lwxpngd
c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:\SourceCode\Libraries\wxWidgets2.8\lib\gcc_lib\libwxpngd.a when searching for -lwxpngd
c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:\SourceCode\Libraries\wxWidgets2.8\lib\gcc_lib/libwxpngd.a when searching for -lwxpngd
c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lwxpngd
c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:\SourceCode\Libraries\wxWidgets2.8\lib\gcc_lib/libwxzlibd.a when searching for -lwxzlibd
c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:\SourceCode\Libraries\wxWidgets2.8\lib\gcc_lib\libwxzlibd.a when searching for -lwxzlibd
c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:\SourceCode\Libraries\wxWidgets2.8\lib\gcc_lib/libwxzlibd.a when searching for -lwxzlibd
c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.7.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lwxzlibd
collect2.exe: error: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 1 seconds)
4 errors, 0 warnings

什么可能给我错误?我在 Windows 上使用 Code::Blocks。我正在做这个链接正在做的教程 wxSmith Tutorial - Code::Blocks Wiki

注意:如果有帮助,我从 wxPack 安装了 wxWidgets,在 Code::Blocks 中,我使用全局变量编辑器创建了一个全局变量,其中基本字段为 C:\SourceCode\Libraries\wxWidgets2。 8,include字段有C:\SourceCode\Libraries\wxWidgets2.8\include,lib字段有C:\SourceCode\Libraries\wxWidgets2.8\lib。其余字段为空,如 obj(我找不到 obj 文件夹)、cflags、lflags 和用户定义字段为空。

最佳答案

看起来你没有编译正确的 wxWidgets 调试版本。

看看你的...\wxWidgets\build\msw文件夹,有没有类似

的文件夹
  • gc_mwsud(单码调试)
  • gc_mswuddll(共享 unicode 调试)

在你的例子中是一个文件夹

  • gcc_mswd(调试)
  • gcc_mswddll(调试共享)

编辑

只针对您的特殊情况

转到 x:\wxWidgets\build\msw\( x == 你的驱动器)

改变你的 x:\wxWidgets\build\msw\config.gcc 就像

....

# C compiler
CC = gcc

# C++ compiler
CXX = g++
....

# What type of library to build? [0,1]
SHARED = 0
....

# Compile Unicode build of wxWidgets? [0,1]
UNICODE = 0
....

# Type of compiled binaries [debug,release]
BUILD ?= debug
....

# Multiple libraries or single huge monolithic one? [0,1]
MONOLITHIC = 0

用命令制作。仅适用于您的特殊情况!!

x:\wxWidgets\build\msw>mingw32-make -f makefile.gcc

官方支持的 Code::Blocks 的正常方式是

清理源:

mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=debug clean

注意:确保您对这一步和下面的构建步骤使用完全相同的选项。 clean 目标使用这些变量并且只清除指定版本的生成的对象和库文件。 (如果这些变量不相同,它将不会清除预期的文件。)

注意:如果清理后编译还是有问题,可以尝试手动删除build\msw目录下的gcc_mswd目录。该目录是存放目标文件的地方。

当一切都干净后你就可以开始编译wxWidgets了:

mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=debug

注意:这些选项是官方支持的 Code::Blocks 选项。如果您想要另一个版本的 wxWidgets(调试或非 Unicode),您仍然必须确保构建一个 MONOLITHIC 版本(一个大的 DLL)来链接 Code::Blocks。

耐心。这一步需要时间。在继续之前确保没有编译错误。

http://wiki.codeblocks.org/index.php?title=Compiling_wxWidgets_2.8.6_to_develop_Code::Blocks_%28MSW%29

关于c++ - wxSmith 和 Code::Blocks 构建错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12035905/

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