Доброе утро,
В настоящее время я использую Qt 4.8.6 с Visual Studio 2010 C ++.
Я делаю проект, который позволит мне управлять лампой (используя протокол DMX) через приложение qt на моем компьютере, чтобы выяснить мою проблему, которую я нашел в Google, под названием Qdmx (http://soft.pmad.net/qlight/qdmx/download.htm).
Я скачал .DLL и .a.
Я добавил файл .a в компоновщик Visual Studio, путь для включения и DLL в файл, где находится мой .sln.
Когда я пытаюсь скомпилировать один метод, который позволит соединиться с лампой, visual studio показывает мне 9 ошибок LNK 2019:
(например, ошибка 8 LNK2019: неразрешенный внешний символ «public: __thiscall QDmxClient :: QDmxClient (class QObject *)» (?? 0QDmxClient @@ QAE @ PAVQObject @@@ Z), на который есть ссылка в функции «public: void __thiscall Lampe» :: ConnectionLampe (void) «(? ConnectionLampe @ Lampe @@ QAEXXZ) C: \ Users \ gdeca_000 \ Desktop \ Debu_C ++ \ Dmx \ Lampe.obj Dmx)
Я думаю, что это происходит из .a файла, который действует не так, как .lib.
Как я могу решить эти проблемы? Должен ли я сделать предыдущий шаг, прежде чем добавить .a файлы?
Спасибо за ваше время и помощь.
С уважением.
Ответ: вы не делаете.
Статические библиотеки Visual C ++ и библиотеки экспорта DLL заканчиваются на .lib
,
Файлы, которые заканчиваются на .a
являются библиотеками Unix, для использования в Unix или Unix-подобных средах (таких как macOS (ранее OSX), Linux или в Windows, средах MinGW и Cygwin, использующих компилятор GCC или Clang).
Если нет библиотечных файлов, заканчивающихся на .lib
тогда нет поддержки Visual C ++.
Других решений пока нет …