错误 LNK2019:未解析的外部符号链接器找不到 DLL

error LNK2019: unresolved external symbol linker can't find dll

本文关键字:符号链接 外部 找不到 DLL LNK2019 错误      更新时间:2023-10-16

这是我的第一个问题,是的,在这个网站上已经问了很多次了。我以前看过以前的每一个问题,要么答案不是他们的,要么我看累了。

几天来,我一直在尝试在Visual Studios 2010中实现GTK+项目,但一直被一个main.obj:error LNK2019:函数_main中引用的未解析外部符号_GTK_init_abi_check(以及其他一些函数)所困扰。我已经尝试过3.x(32b和64)和2.x(32b64b)的多个版本,但目前正在尝试使用GTKvs2 32位,因为它是最受支持的分支。我已经链接了头文件、库文件,并有一个环境路径变量=path=$(ProjectDir)GTK\bin。

当我运行Verbose时,我得到搜索库*{完整路径}是实际路径。1> 正在搜索{完整路径}\GTK\lib\GTK-win32-2.0.lib:等等,所以我猜没有找到.dll。然而,另一种依赖性正在被发现找到最新CRT启动(_M)1> 已加载MSVCRTD.lib(crtxe.obj)

根据我所读到的内容,路径变量应该允许找到.dll。我把dll扔到了我认为链接器可以找到的任何地方。在.cpp旁边的Resource文件中,在debug文件夹中,什么都没用。

我当前的代码是

#include <gtkgtk.h>
int main (int argc, char *argv[]){
    GtkWidget *window;
    gtk_init (&argc, &argv);
    /*
    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
    gtk_window_set_title (GTK_WINDOW (window), "Hello World");
    gtk_widget_show (window);

    gtk_main (); 
    */
    return 0;
}

为什么链接器找不到函数?我还应该注意,我已经尝试过通过命令行和pragma注释直接链接库,但没有成功。它是GTK项目,所以二进制文件应该编程良好。此外,我已经按照前一个线程中的建议进行了多次编译。那么,在链接器环境方面,我缺少什么呢?我应该注意,这是我第一次为一个项目设置dll,所以这可能是一个非常小的错误。

提前感谢!

首先,确保所需的库列在项目"属性页"对话框中Linker文件夹的"输入"属性页的"附加依赖项"字段中。

其次,通过"项目|属性|配置属性|常规"文件夹为您的项目设置"不支持公共语言运行时"。