gpt4 book ai didi

compiler-errors - LLVM “/manifestdependency: is not allowed in .drectve”解决方法

转载 作者:行者123 更新时间:2023-12-02 10:46:08 26 4
gpt4 key购买 nike

我有一个使用wxWidgets构建的相对复杂的GUI应用程序,可以在MSVC上编译并运行良好,但是当我在Visual Studio中使用LLVM进行编译时,出现“/manifestdependency:.drectve中不允许”错误。

已经报告了该错误,并且在https://bugs.llvm.org/show_bug.cgi?id=38797上似乎可以找到解决方法,但是我似乎无法弄清楚如何更改代码。在错误报告中,它提到了如何将指令放置在PCH文件中,但是我没有在解决方案中使用预编译的 header 。我可以使用不包含wx header 和库的LLVM构建项目,因此我怀疑这与wxWidget的编译方式有关。

我不太熟悉wxWidget的工作/构建方式,有人可以提出建议吗?

最佳答案

提到链接

https://bugs.llvm.org/show_bug.cgi?id=38797


comments中有一个对我有用的解决方案(将案例OPT_manifestdependency添加到/lld/COFF/Driver.cpp)。
$ git diff
diff --git a/lld/COFF/Driver.cpp b/lld/COFF/Driver.cpp
index 7372505bb61..f8afbb93374 100644
--- a/lld/COFF/Driver.cpp
+++ b/lld/COFF/Driver.cpp
@@ -408,6 +408,7 @@ void LinkerDriver::parseDirectives(InputFile *file) {
// `#pragma comment(linker, "/flag")`-generated sections.
case OPT_editandcontinue:
case OPT_guardsym:
+ case OPT_manifestdependency:
case OPT_throwingnew:
break;
default:
llvm lld从头开始编译花费了一段时间,但最终错误消息“错误:/。manifestdependency:.drectve中不允许”消失了。
但是wxWidgets看起来有所不同。
然后,我在cmake中添加了带有target_sources的文件“wxWidgets/include/wx/msw/amd64_dpi_aware.manifest”。这为我解决了外观不同(例如字体模糊)的问题。

关于compiler-errors - LLVM “/manifestdependency: is not allowed in .drectve”解决方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53270825/

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