Я - любительский разработчик VC++.В VS2010 ошибка VC++ LNK 2019 с CoolProp 5.0.0
Я хочу использовать CoolProp (http://www.coolprop.org/) в моем учебном проекте VC++ в качестве статической библиотеки в Win 32 приложения с помощью VS2010 Окончательные работают в x64 ноутбуке машине.
Так я скачал,
1.CoolProp.lib из http://sourceforge.net/projects/coolprop/files/CoolProp/5.0.2/static_library/ 2.CoolProp.h из http://sourceforge.net/projects/coolprop/files/CoolProp/5.0.0/shared_library/
и размещены как в системной папке.
Затем я создал образец консольного приложения win32 в VS2010 как пустой sln. Добавил CoolProp.h в качестве дополнительных каталогов в свойствах -> C/C++ -> Общие (также скопировал все зависимые файлы заголовков) Добавил CoolProp.lib в качестве дополнительных зависимостей в свойствах-> Linker-> Input-> Additional Dependencies
Затем я скопировал эту программу из 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;
}
и пытался построить.
Build (но компилируется отлично) не удалось из-за
main.obj: LNK2019 ошибка: неразрешенный внешний символ "двойной __cdecl PropsSI (символ, символ, двойной, символ, двойной, символ *)" (Принадлежит @@ YANDDNDNPAD @ Z) ссылка на функцию _main
Может кто-нибудь, пожалуйста, помогите мне в решении этого вопроса? я уже читал ниже посты от StackOverflow, но не смог решить, пожалуйста, помогите
- 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
Это сработало для меня. i включил CoolPropLib.h и изменил соглашение о вызовах как _stdcall в свойствах-> c/C++ -> Дополнительно. Большое вам спасибо – Selva
@SelvaKumar: добро пожаловать. Я изменил ответ. – houssam
Как я упоминал в своем ответе, использование DLL не оптимально, потому что вы ограничены в функциональности, которую вы можете использовать. Лучше строить статическую библиотеку самостоятельно, как я описываю. – ibell