qt-creator и msvc не могут добавить (статическую) библиотеку

У меня есть сторонняя (закрытая исходная) статическая библиотека (.lib), написанная на C, с C ++ совместимым заголовком и очень простой тестовой программой C ++.

После создания нового проекта в Qt-creator я попытался скомпилировать программу и создать ссылку на статическую библиотеку, но компоновщик не может разрешить символы: «Неразрешенный внешний символ», ошибка LNK2019.

Я использую Qt 5.3 с компилятором из VisualC ++ 2013 Express (который я считаю MSVC12), а файл .pro, используемый в Qt-creator, выглядит следующим образом:

TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt

LIBS += -L"C:/Users/myuser/myproject" -lsomelib

SOURCES += main.cpp

HEADERS += \
somelib.h

при условии, что в C:\Users\myuser\myproject Есть следующие два файла:

  • libsomelib.lib
  • somelib.h

Я не уверен, что предоставить в -l флаг, поэтому я попробовал с libsomelib.lib, libsomelib а также somelib как и в Linux, но каждая комбинация была неудачной.

Это мой первый раз, когда я использую MSVC от Qt-creator (не то, чтобы у меня был большой опыт работы с ним), поэтому я не могу понять команду связывания, выпущенную qt-creator, которая включает в себя файлы манифеста, которые я не знаю, и — по-видимому — никакие файлы или библиотеки не указаны явно в команде:

link /NOLOGO /DYNAMICBASE /NXCOMPAT /DEBUG /SUBSYSTEM:CONSOLE "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /MANIFEST /MANIFESTFILE:debug\myproject.exe.embed.manifest /OUT:debug\myproject.exe @C:\Users\myuser\AppData\Local\Temp\myproject.exe.4260.531.jom

Обратите внимание, что если я не использую qmake и скомпилирую этот пример вручную, используя cl а также link, программа ссылки просто отлично. Для этого я использую команды:

cl /MT /EHsc /c main.cpp
link /LIBPATH:C:\Users\myuser\myproject libsomelib.lib main.obj  /out:test.exe

Как я могу это исправить? Заранее спасибо!

2

Решение

Каким-то образом мне удалось скомпилировать код с помощью MSVC.

Я пытался воспроизвести компиляцию на Qt-Creator, но безуспешно; также пытался экспортировать проект qmake из VS с помощью надстройки Qt, но проблема сохраняется в Qt Creator. Поэтому я сдаюсь и продолжаю использовать VS для компиляции.

0

Другие решения


По вопросам рекламы [email protected]