错误 LNK2019:未解析的外部符号链接器找不到 DLL
error LNK2019: unresolved external symbol linker can't find dll
这是我的第一个问题,是的,在这个网站上已经问了很多次了。我以前看过以前的每一个问题,要么答案不是他们的,要么我看累了。
几天来,我一直在尝试在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文件夹的"输入"属性页的"附加依赖项"字段中。
其次,通过"项目|属性|配置属性|常规"文件夹为您的项目设置"不支持公共语言运行时"。
- CMake 无法链接外部库
- 体系结构x86_64的未定义符号:链接器错误
- 链接外部C++外部C++ 在主文件中?
- 如何防止 CMake 在构建时(而不是在安装时)为共享库创建符号链接?
- 如何将空文件夹和符号链接添加到存档 - libarchive
- boost::存在符号链接不取消引用
- c++ ReadDirectoryChangesW on directory,带有目录的符号链接
- 在 CMake 中链接外部 HDFql 库
- 如何将libc++与调试符号链接起来?
- 如何使用 GetFinalPathNameByHandle 解析指向本地目录的符号链接?
- 在 Android Studio 中使用 NDK、Gradle 和 CMake 链接外部库
- 在可执行文件中使用带有符号链接的相对路径
- 架构x86_64的未定义符号链接constexpr std :: array
- 使用dlopen()的符号链接
- 单一实例对象的未解决外部符号链接错误
- 导出类静态常量的未解决外部符号链接错误(仅限某些项目)
- 将类从应用程序解决方案移动到静态库解决方案会产生无法解决的外部符号链接错误
- Visual Studio 2015 C++ 未解析的外部符号链接错误
- 设置为 'default' 时"compile as"外部符号链接错误
- 错误 LNK2019:未解析的外部符号链接器找不到 DLL