【问题标题】:C++ / GCC - How do you add linker options when compiling?C++ / GCC - 编译时如何添加链接器选项?
【发布时间】:2021-07-29 01:01:24
【问题描述】:

所以,我正在尝试编译一个基本的 c++ 程序,但是当我在其他计算机上运行它时,我得到一个“缺少 DLL”的错误。我查了一下,显然添加 -static-libstdc++ 可以解决问题,而无需在目录中添加 DLL。我想知道编译时如何添加链接器选项。 您是否像这样添加链接器选项和编译器选项?

g++ -i some/program.cpp -o some/program.exe -(linker options here)

感谢一个了不起的人,他解决了我的问题!您所做的是将-static 添加到编译器选项中。

【问题讨论】:

  • @h0r53 很抱歉,但我不太明白那篇帖子中发生了什么。我只想知道如何添加链接器选项。
  • 您能否提供您想要静态链接的文件的名称,或者至少是一个示例名称?
  • 这个是g++ -static-libstdc++ some/program.cpp -o some/program.exe 但它只链接C++标准库。您可能希望 g++ -static some/program.cpp -o some/program.exe 加入 C、C++ 和支持
  • @user4581301 非常感谢!

标签: c++ gcc compilation


【解决方案1】:

如果您使用的是 Windows,那么您可以将以下内容添加到您的代码中

#pragma comment("lib", "dll-file-without-.dll-file-extension")

或者你可以用 GCC 编译

g++ -i some/program.cpp -o some/program.exe -L<directory-to-dll> -l<dll-file-without-.dll-file-extension>

【讨论】:

  • 我想我知道你想用 GCC 例子去哪里,但你还没有完全做到。为了理解这部分答案,您必须知道该怎么做。
猜你喜欢
  • 1970-01-01
  • 2023-03-11
  • 2018-06-19
  • 2015-02-01
  • 2016-02-12
  • 2012-01-18
  • 2019-01-30
  • 1970-01-01
  • 2020-11-01
相关资源
最近更新 更多