1. 程式人生 > >error LNK2019: 無法解析的外部符號;fatal error LNK1120: 1 個無法解析的外部命令; 可能存在的問題

error LNK2019: 無法解析的外部符號;fatal error LNK1120: 1 個無法解析的外部命令; 可能存在的問題

alt 配置 pan ron ima detail deb 16px 管理

一、問題:使用一個.lib出現如下錯誤 (我使用的環境 vs2012)

  error LNK2019: 無法解析的外部符號 _SSL_CTX_new,該符號在函數 _main 中被引用;

  fatal error LNK1120: 1 個無法解析的外部命令;

二、出現該問題的原因:

  1.原因:最大的可能就是使用的lib在引用的時候沒添加好。

   解決方法:需要查看一下調用的配置是否正確:

        項目--》屬性--》鏈接器--》常規--》附加庫目錄:填寫附加依賴庫所在目錄 分號間隔多項
        項目--》屬性--》鏈接器--》輸入--》附加依賴項:填寫附加依賴庫的名字.lib 空格或分號間隔多項

  2.原因:該lib的庫版本不對,需要編譯出32位程序,用32位的lib,編譯出64位程序,用64位的lib。

          (我的問題是編譯32位的程序用了64位的庫,不知道編譯64位程序用32位的庫會不會有問題,未嘗試)

   解決方法:

    1) 可以先用vs的--》工具中的--》技術分享,使用命令:” dumpbin /all + lib名 “,確認該lib中是否含有有你需要的函數。

    2) 嘗試修改編譯出來的程序類型,重新編譯(可以寫個測試lib的工程,單獨調用該lib中的函數,看看是否可以鏈接成功)。

    1. “鏈接器-》高級-》目標計算機”設置為”MachineX64 (/MACHINE:X64)”

      技術分享

    2. “鏈接器-》命令行-》其他選項”設置為” /machine:X64 /debug ”
      技術分享

    3. “生成-》配置管理器-》活動解決方案平臺”設置為” X64 “,如果沒有就新建。
      技術分享

參考博客:http://blog.csdn.net/MR1269427885/article/details/53283257

error LNK2019: 無法解析的外部符號;fatal error LNK1120: 1 個無法解析的外部命令; 可能存在的問題