首页 > 解决方案 > 在链接阶段无法通过 Visual Studio 远程编译找到 .a wxWidgets 库

问题描述

我正在尝试使用 Visual Studio 将带有 wxWidgets 的 C++ 应用程序作为 GUI 远程构建并链接到 Ubuntu VM。

WxWidgets 文档说我应该像这样使用 wx-config 命令行标志:

`wx-config cxxflags --libs`

Linux 可以通过该命令找到这些库。我的猜测是发送了完整的编译器命令,那么为什么它不像本地那样被解释呢?

在 Linux 机器上,我可以使用编译器命令中的标志进行构建,而使用 Visual Studio 则找不到库。

标签: c++visual-studiowxwidgetslibraries.a

解决方案


Visual Studio 不支持命令行中的反引号。

`wx-config --cxxflags --libs`

Visual Studio 命令行中的上述命令不会像在 Linux 机器上那样被解释。

在 Linux 机器上安装 wxWidgets 后,您可以键入:

wx-config --cxxflags --libs all

这将为您提供这些论点的内容,如下所示:

`c-I/usr/local/lib/wx/include/gtk2-unicode-3.1 -I/usr/local/include/wx-3.1 
-D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__ -pthread
-L/usr/local/lib -pthread   -lwx_gtk2u_xrc-3.1 -lwx_gtk2u_stc-3.1   
-lwx_gtk2u_richtext-3.1 -lwx_gtk2u_ribbon-3.1 -lwx_gtk2u_propgrid-3.1 
-lwx_gtk2u_aui-3.1 -lwx_gtk2u_html-3.1 -lwx_gtk2u_qa-3.1 
-lwx_gtk2u_core-3.1 -lwx_baseu_xml-3.1 -lwx_baseu_net-3.1 -lwx_baseu-3.1

输出可用于 Visual Studio 的编译器/链接器命令

在不使用 wx-config 标志的情况下进行此更改后,我能够编译和链接我的应用程序。


推荐阅读