c++ CodeBlocks wxWidgets项目找不到wxWidgets目录

kb5ga3dv  于 2023-07-01  发布在  其他
关注(0)|答案(2)|浏览(131)

我正在使用CodeBlocks来处理wxWidgets库,但是我遇到了一些问题。当我创建一个wxWidgets项目时,它会给出一个警告:
“在您指定的wxWidgets目录中找不到相应的版本配置。这意味着将不会生成项目的Release目标。您确定要继续使用这些设置吗?”
我正在使用的wxWidgets位于以下路径中:C:\wxWidgets-3.2.2.1
编译器:TDM GCC
使用:wxSmith,基于帧
我重新安装/构建(用make)库几次,编译器和代码块,系统路径中的变量等
我用的是:

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

来建造图书馆
我将尝试我在互联网上和错误信息中找到的东西,并在这里更新

ie3xauqp

ie3xauqp1#

@GabrielTorraski
从描述中看起来你没有编译库,只是安装了它。
执行以下操作(我假设您正在使用MinGW编译器,并且它已安装并位于路径中):
1.打开命令提示符。
1.转到c:\wxwidgets-3.2.2.1\build\msw
1.执行以下命令:mingw32-bin.exe -f makefile.gcc BUILD=Release
1.请等待一段时间以完成生成。
1.返回到C::B并从头开始重新创建项目。
不过,我不推荐。您应该做的是对库和应用程序进行Debug构建,这样您就可以修复软件中的所有潜在错误。
谢谢你。

3qpi33ja

3qpi33ja2#

好吧,伙计们,我终于找到了解决这个问题的办法。
问题是代码块已经更新了wxWidgets项目,直到3.1版本。
现在wxWidgets是3.2版本。
然后基于wxWidgets论坛的以下内容:
https://forums.wxwidgets.org/viewtopic.php?f=20&t=42301
代码块wxWidgets项目有一个脚本,其中包含搜索文件lwxmsw的特定版本的指令。
在这种情况下,只需搜索31 u版本。但是wxWidgets只有-lwxmsw 32 u。
所以你有两个选择:
下载一个可接受的版本或像我一样编辑脚本。
创建项目时,如果使用鼠标右键,将出现选项,其中一个选项是更改脚本。,然后将打开wizard.script
在第340-350行附近将是关于特定文件的指令:

if (IsUnicode)
            lib_unic_suffix = _T("u");
        else
            lib_unic_suffix = _T("");

        if (WxVersion == 0)
            lib_wxver = _T("26");
        else if (WxVersion == 1)
            lib_wxver = _T("28");
        else if (WxVersion == 2)
            lib_wxver = _T("30");
        else if (WxVersion == 3)
            lib_wxver = _T("31");

您可以添加3.2的部件,也可以更改3.1的部件以查找3.2版的文件。
如果您决定创建一个新部件,则必须处理脚本的多个部分。由于我只是将库用于简单的日常使用,因此更改字符串就足以不再出现上述错误。
所以我改成:

else if (WxVersion == 3)
    lib_wxver = _T("32");

我的项目编译没有更多的错误。

相关问题