我是一名業餘的VC++開發人員。在VS2010中,VC++錯誤LNK 2019與CoolProp 5.0.0
我想用VS2010終極x64的筆記本整機運行在我的學術VC++項目使用CoolProp(http://www.coolprop.org/)作爲靜態庫中贏得32應用程序。
所以我已經下載,
從http://sourceforge.net/projects/coolprop/files/CoolProp/5.0.0/shared_library/
http://sourceforge.net/projects/coolprop/files/CoolProp/5.0.2/static_library/ 2.CoolProp.h 1.CoolProp.lib和無論是在系統文件夾放置。
接下來,我在VS2010中創建了一個示例win32控制檯應用程序,作爲空sln。 在Properties-> C/C++ - > General中添加了CoolProp.h作爲附加包含目錄 在Properties-> Linker-> Input-> Additional Dependencies中添加了CoolProp.lib作爲其他依賴項
然後,我從http://www.coolprop.org/coolprop/HighLevelAPI.html#high-level-api
#include "CoolProp.h"
#include <iostream>
using namespace CoolProp;
int main()
{
// First type (slowest, due to most string processing, exposed in DLL)
std::cout << PropsSI("Dmolar","T",298,"P",1e5,"Propane[0.5]&Ethane[0.5]") << std::endl; // Default backend is HEOS
std::cout << PropsSI("Dmolar","T",298,"P",1e5,"HEOS::Propane[0.5]&Ethane[0.5]") << std::endl;
std::cout << PropsSI("Dmolar","T",298,"P",1e5,"REFPROP::Propane[0.5]&Ethane[0.5]") << std::endl;
std::vector<double> z(2,0.5);
// Second type (C++ only, a bit faster)
std::cout << PropsSI("Dmolar","T",298,"P",1e5,"Propane&Ethane", z) << std::endl;
std::cout << PropsSI("Dmolar","T",298,"P",1e5,"HEOS::Propane&Ethane", z) << std::endl;
std::cout << PropsSI("Dmolar","T",298,"P",1e5,"REFPROP::Propane&Ethane", z) << std::endl;
return EXIT_SUCCESS;
}
複製這一計劃,並試圖建立。
生成(但完全編譯)失敗,原因是
main.obj:錯誤LNK2019:無法解析的外部符號 「雙__cdecl PropsSI(焦炭,焦炭,雙,焦炭,雙,字符*)」(道具@@ YANDDNDNPAD @ Z)在函數中引用_main
有人可以幫我解決這個問題嗎? 我已經閱讀下面的計算器職位,但想不出解決請幫忙
- What is an undefined reference/unresolved external symbol error and how do I fix it?
- "error LNK2019: unresolved external symbol" error in Visual Studio 2010
- Error LNK2019: Unresolved External Symbol in Visual Studio
它爲我工作。我包含了CoolPropLib.h,並在Properties-> c/C++ - > Advanced中將調用約定更改爲_stdcall。非常感謝你 – Selva 2014-12-07 11:17:31
@SelvaKumar:不客氣。我修改了答案。 – houssam 2014-12-07 11:30:30
正如我在我的回覆中提到的那樣,使用DLL並不是最佳選擇,因爲您可以使用的功能有限。按照我的描述,最好自己構建靜態庫。 – ibell 2014-12-07 15:27:44