【问题标题】:LNK error 2001 while building wpa_supplicant构建 wpa_supplicant 时出现 LNK 错误 2001
【发布时间】:2012-09-14 11:31:44
【问题描述】:

我正在尝试使用 VS2005 在 Windows 上构建 wpa_supplicant 应用程序。当我构建它时,我收到一个链接错误:

------ Rebuild All started: Project: wpa_cli, Configuration: Release Win32 ------

Deleting intermediate and output files for project 'wpa_cli', configuration 'Release|Win32'

Compiling...  
wpa_ctrl.c  
wpa_cli.c  
os_win32.c  
common.c  

Linking...  

wpa_cli.obj : error LNK2001: unresolved external symbol _eloop_init  
wpa_cli.obj : error LNK2001: unresolved external symbol _eloop_unregister_read_sock  
wpa_cli.obj : error LNK2001: unresolved external symbol _eloop_register_timeout  
wpa_cli.obj : error LNK2001: unresolved external symbol _edit_redraw  
wpa_cli.obj : error LNK2001: unresolved external symbol _edit_init  
wpa_cli.obj : error LNK2001: unresolved external symbol  _eloop_register_read_sock  
wpa_cli.obj : error LNK2001: unresolved external symbol _eloop_destroy  
wpa_cli.obj : error LNK2001: unresolved external symbol _eloop_terminate  
wpa_cli.obj : error LNK2001: unresolved external symbol _eloop_register_signal_terminate  
wpa_cli.obj : error LNK2001: unresolved external symbol _eloop_run  
wpa_cli.obj : error LNK2001: unresolved external symbol _eloop_cancel_timeout  
wpa_cli.obj : error LNK2001: unresolved external symbol _edit_deinit  
wpa_cli.obj : error LNK2001: unresolved external symbol _edit_clear_line  

D:\Interworking\wpa_supplicant-1.0.tar\wpa_supplicant-1.0\wpa_supplicant-1.0
\wpa_supplicant\vs2005\Release\wpa_cli.exe : fatal error LNK1120: 13 unresolved externals  

我已经给出了额外的包含目录,其中定义了 eloop_init、eloop_unregister_read_sock 等。

【问题讨论】:

    标签: c visual-studio-2005 wpa


    【解决方案1】:

    另一个常见问题:

    除了额外的包含目录(这样你的代码可以编译),你还应该添加链接库(这样你的代码可以链接):它应该在

    项目属性/配置属性/链接器/输入/附加 依赖关系

    在 VS2010 中是这样的:

    其他版本的 Visual Studio 应该类似。

    【讨论】:

    • 是的,我已经通过命令行选项添加了这些库。
    • /OUT:"D:\Interworking\wpa_supplicant-1.0.tar\wpa_supplicant-1.0\wpa_supplicant-1.0\wpa_supplicant\vs2005\Release\wpa_cli.exe" /INCREMENTAL:NO /NOLOGO /MANIFEST / MANIFESTFILE:"Release\wpa_cli.exe.intermediate.manifest" /DEBUG /PDB:"d:\interworking\wpa_supplicant-1.0.tar\wpa_supplicant-1.0\wpa_supplicant-1.0\wpa_supplicant\vs2005\release\wpa_cli.pdb" /SUBSYSTEM :CONSOLE /OPT:REF /OPT:ICF /LTCG /MACHINE:X86 /ERRORREPORT:PROMPT ws2_32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
    • @david 我不清楚,但如果你确定你已经添加了库,你能检查一下这些库的目录是否也设置了?应该在 Project properties/Configuration properties/Linker/General/Additional Library Directories
    • 嗨,我没有正确设置定义上述函数的源文件路径。我已经在其他包含目录中添加了“..\..\..\src\utils”。文件所在的位置。 VS 2005 仅在通过将源文件和头文件添加到工作空间中添加时才使用,不会导致错误。您知道为什么当我通过其他包含目录添加时这些文件没有被占用吗??
    • 附加包含目录与附加库目录不同 - 一个用于标题包含,一个用于库链接
    猜你喜欢
    • 1970-01-01
    • 2017-08-12
    • 1970-01-01
    • 2021-03-20
    • 1970-01-01
    • 1970-01-01
    • 2011-11-16
    • 1970-01-01
    • 2019-02-26
    相关资源
    最近更新 更多