【问题标题】:Unable to find .a wxWidgets libraries through Visual studio remote compilation during linking stage在链接阶段无法通过 Visual Studio 远程编译找到 .a wxWidgets 库
【发布时间】:2019-07-12 03:14:51
【问题描述】:

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

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

`wx-config cxxflags --libs`

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

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

【问题讨论】:

  • 真的不清楚你在问什么。第一句话是什么意思?您是否打算使用 MSVS 构建 Linux (Ubuntu) 二进制文件?
  • 是的,我是,远程编译。 VS 正在复制文件并执行编译器构建命令。
  • @JFr,您无法使用 MSVS 构建 Linux 可执行文件。 MSVS 只能生成 Windows 二进制文件。为什么不能远程到机器上编译?
  • @Igor 远程我可以,只是找不到库或没有像本地那样解释构建命令。 blogs.msdn.microsoft.com/vcblog/2017/04/11/…
  • @JFr,我的意思是 ssh 到盒子并使用标准 Linux 工具链构建一切?正如我所说 - MSVC 不知道如何构建 Linux 二进制文件...

标签: c++ visual-studio wxwidgets libraries .a


【解决方案1】:

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 标志的情况下进行此更改后,我能够编译和链接我的应用程序。

【讨论】:

    猜你喜欢
    • 2021-11-14
    • 2019-11-01
    • 1970-01-01
    • 2012-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-22
    相关资源
    最近更新 更多