Я пытаюсь написать приложение, которое сохраняет 16 бит tiff. Я использую QT Creator и QT API, но не могу использовать функции QT tiff из-за необходимости в 16 бит. Мое приложение должно работать как в Windows, так и в Linux.Не удается связать с libtiff в QT Creator/MSVC
Версия Linux отлично работает. Когда я пытаюсь ссылка в Visual C++/Win 7, я получаю следующие сообщения об ошибках:
FrameSaveRunnable.obj : error LNK2019: unresolved external symbol __imp_TIFFClose referenced in function "protected: virtual void __cdecl FrameSaveRunnable::run(void)" ([email protected]@@MEAAXXZ)
FrameSaveRunnable.obj : error LNK2019: unresolved external symbol __imp_TIFFSetField referenced in function "protected: virtual void __cdecl FrameSaveRunnable::run(void)" ([email protected]@@MEAAXXZ)
FrameSaveRunnable.obj : error LNK2019: unresolved external symbol __imp_TIFFWriteScanline referenced in function "protected: virtual void __cdecl FrameSaveRunnable::run(void)" ([email protected]@@MEAAXXZ)
FrameSaveRunnable.obj : error LNK2019: unresolved external symbol __imp_TIFFOpen referenced in function "protected: virtual void __cdecl FrameSaveRunnable::run(void)" ([email protected]@@MEAAXXZ)
debug\avtcam.exe : fatal error LNK1120: 4 unresolved externals
Соответствующих части моего .pro вида файла, как это:
INCLUDEPATH += "C:\Program Files (x86)\GnuWin32\include"
LIBS += -L"C:\Program Files (x86)\GnuWin32\lib" -llibtiff
Я гугл и искал во всем, и кажется, что проблема связана с C/C++ именами incompatabilities. Есть несколько предложений относительно того, как исправить это внутри Visual Studio, но я работаю в среде QT и вообще не использую VS - просто компилятор. Есть ли ответ на эту проблему?
Моя среда: QT 5.4.0, Visual Studio 12, выиграть 7 Pro, LibTIFF двоичные файлы, загруженные из http://gnuwin32.sourceforge.net/packages/tiff.htm
Не следует ли связывать библиотеку как '-ltiff' не' -llibtiff'? –
Нет, если бы это был linux, или если бы я использовал Mingw, это было бы -ltiff, но Visual Studio хочет, чтобы оно было написано – jhowland