ld.exe:找不到 -ldwrite 和 -ldwmapi

Posted

技术标签:

【中文标题】ld.exe:找不到 -ldwrite 和 -ldwmapi【英文标题】:ld.exe: cannot find -ldwrite and -ldwmapi 【发布时间】:2020-01-17 07:24:15 【问题描述】:

作为标题,我在codelite中使用gtk编译hello world演示时遇到了这个错误......确切的错误是

    C:\WINDOWS\system32\cmd.exe /C C:/MinGW/bin/mingw32-make.exe -e -f  Makefile
Building project:[ CodeLiteGTK3 - Debug ]----------
mingw32-make[1]: Entering directory 'C:/Users/Diana/Documents/CodeLiteWorkspace/CodeLiteGTK3'
C:/MinGW/bin/g++.exe -o Debug/CodeLiteGTK3 @"CodeLiteGTK3.txt" -L.   -L/mingw64/lib -L/mingw64/lib/../lib -L/mingw64/lib -lgtk-3 -lgdk-3 -lgdi32 -limm32 -lshell32 -lole32 -Wl,-luuid -lwinmm -ldwmapi -lsetupapi -lcfgmgr32 -lz -lepoxy -lopengl32 -lgdi32 -lpangocairo-1.0 -lm -lgdi32 -lpangoft2-1.0 -lm -lpangowin32-1.0 -lm -lusp10 -lgdi32 -lpango-1.0 -lm -lfribidi -lthai -ldatrie -latk-1.0 -lcairo-gobject -lcairo -lz -lpixman-1 -lm -pthread -lfontconfig -liconv -lexpat -lfreetype -lbz2 -lharfbuzz -lm -lusp10 -lgdi32 -lrpcrt4 -ldwrite -lgraphite2 -lpng16 -lz -lgdk_pixbuf-2.0 -lm -lgdiplus -lole32 -ljpeg -ljasper -lpng16 -lz -ltiff -lzstd -llzma -ljpeg -lz -lgio-2.0 -pthread -lintl -lshlwapi -ldnsapi -liphlpapi -lws2_32 -pthread -lgmodule-2.0 -lintl -lz -lgobject-2.0 -pthread -lintl -lffi -lintl -lglib-2.0 -lws2_32 -lole32 -lwinmm -lshlwapi -pthread -lpcre
c:/mingw/bin/../lib/gcc/mingw32/8.2.0/../../../../mingw32/bin/ld.exe: cannot find -ldwmapi
c:/mingw/bin/../lib/gcc/mingw32/8.2.0/../../../../mingw32/bin/ld.exe: cannot find -ldwrite
collect2.exe: error: ld returned 1 exit status
mingw32-make[1]: *** [Debug/CodeLiteGTK3] Error 1
CodeLiteGTK3.mk:78: recipe for target 'Debug/CodeLiteGTK3' failed
mingw32-make[1]: Leaving directory 'C:/Users/Diana/Documents/CodeLiteWorkspace/CodeLiteGTK3'
mingw32-make.exe: *** [All] Error 2
Makefile:4: recipe for target 'All' failed
====1 errors, 0 warnings====

这里是代码。

#include <gtk/gtk.h>

int main(int argc, char *argv[])

    GtkWidget *window;

    gtk_init (&argc, &argv);

    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);

    g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);

    gtk_widget_show (window);

    gtk_main ();

    return 0;

有人可以帮帮我吗?

提前致谢!

【问题讨论】:

在我安装(通过 pacman)gtk 之后,我运行 codelite 向导来设置所有编译和链接工具(mingw. 有效,没有 gtk 的 hello world 有效),仅此而已 我在帖子中添加了代码。另一件事很奇怪。如果文件带有 main.c(c 扩展名),我会收到此错误。如果我使用 main.cpp(cpp 扩展名)它告诉我找不到 gtk.h。我需要cpp文件。对不起我的英语,希望你能理解。谢谢nononck 【参考方案1】:

作为 g++ 选项,添加 -I/mingw64/include/gtk-3.0/

在设置->构建设置->编译器

单击 Apply Ok ..我还没有尝试将 clang++ 设置为编译器

顺便说一句,首先用 print Hello world 编辑代码

【讨论】:

以上是关于ld.exe:找不到 -ldwrite 和 -ldwmapi的主要内容,如果未能解决你的问题,请参考以下文章

由于找不到MSVCR120.dll和MSVCP120.dll,无法继续执行代码

使用jupyter切换子环境,以及导致的`找不到指定模块`和`找不到指定的程序`问题

服务里找不到相应的程序怎么办?jira和tomcat都无法正常启动?

笔记本找不到资源路径怎么整

找不到指定模块是啥意思

javac编译时找不到文件的问题和运行项目找不到指定类问题