Как обычно я использую серию классов, я хочу сделать их как библиотеку ссылок, чтобы я мог легко их использовать.
Что я делаю, так это то, что я создаю два файла ссылок с визуальной студией 2013: a.lib
и a.dll
.
На мой взгляд, мне просто нужно использовать один из них, что означает, что мне не нужно использовать их вместе. К моему удивлению, если я импортирую a.lib
(без a.dll
) в новый проект, все будет хорошо. Но если я импортировать a.dll
(без a.lib
), я получаю много ошибок LNK 2001. Вот один из них:
Файл lib работает, но файл dll не
Error 150 error LNK2001: unresolved external symbol "public: __thiscall ExceptionAlertToLog::ExceptionAlertToLog(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,int,char const *)" ([email protected]@[email protected][email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]) C:\Users\Thomas\Documents\bloomberg-api\MarketDataAgent\MarketDataAgent\DialogSubsBlp.obj MarketDataAgent
кажется, что я не могу использовать этот dll
файл, я могу использовать только этот файл lib
.
Вы видели [эту статью] (https://msdn.microsoft.com/en-us/library/f6xx1b1z.aspx)? Это может помочь вам. Также убедитесь, что DLL находится в той же папке, что и EXE, упрощает ее;) (Чтобы автоматизировать это, вы можете выбрать какой-либо параметр, например «копировать» в информации компилятора, когда вы нажимали на DLL в своем проекте) – Xyv
Вам нужно связать файл .lib и поместить DLL в исполняемую папку (или в системный путь). – Banex
@Banex Я так сделал. – Yves