Есть необходимость использования библиотеки libbson
https://github.com/mongodb/libbson, написанной на C, в Qt проекте.
Библиотеку собрал согласно инструкции для Windows
https://github.com/mongodb/libbson/blob/master/REA... используя один из предложенных cmake генератор "Visual Studio 11" (для Visual Studio 2012),
msbuild.exe ALL_BUILD.vcxproj
и
msbuild.exe INSTALL.vcxproj
прошли успешно.
Библиотека установилась в C:\install\path\.
В файле .pro Qt проекта подключил заголовки библиотеки
HEADERS += \
C:/install/path/include/libbson-1.0/bcon.h \
C:/install/path/include/libbson-1.0/bson.h \
C:/install/path/include/libbson-1.0/bson-atomic.h \
C:/install/path/include/libbson-1.0/bson-clock.h \
C:/install/path/include/libbson-1.0/bson-compat.h \
C:/install/path/include/libbson-1.0/bson-config.h \
C:/install/path/include/libbson-1.0/bson-context.h \
C:/install/path/include/libbson-1.0/bson-endian.h \
C:/install/path/include/libbson-1.0/bson-error.h \
C:/install/path/include/libbson-1.0/bson-iter.h \
C:/install/path/include/libbson-1.0/bson-json.h \
C:/install/path/include/libbson-1.0/bson-keys.h \
C:/install/path/include/libbson-1.0/bson-macros.h \
C:/install/path/include/libbson-1.0/bson-md5.h \
C:/install/path/include/libbson-1.0/bson-memory.h \
C:/install/path/include/libbson-1.0/bson-oid.h \
C:/install/path/include/libbson-1.0/bson-reader.h \
C:/install/path/include/libbson-1.0/bson-stdint.h \
C:/install/path/include/libbson-1.0/bson-stdint-win32.h \
C:/install/path/include/libbson-1.0/bson-string.h \
C:/install/path/include/libbson-1.0/bson-types.h \
C:/install/path/include/libbson-1.0/bson-utf8.h \
C:/install/path/include/libbson-1.0/bson-value.h \
C:/install/path/include/libbson-1.0/bson-version.h \
C:/install/path/include/libbson-1.0/bson-writer.h
и указал где искать lib
LIBS += "C:\install\path\lib\bson-1.0.lib"
В cpp файле включаю заголовок библиотеки:
extern "C" {
#include "C:/install/path/include/libbson-1.0/bson.h"
}
И пробую использовать функции libbson:
bson_t *bsonobj = bson_new();
Делаю Сlean project, Run qmake.
Собираю проект, используя профиль MSVC2012 64bit, сборка завершается ошибкой:
moc_TestApp.obj:-1: ошибка: LNK2019: ссылка на неразрешенный внешний символ bson_new в функции "protected: void __cdecl TestApp::usageBson(class QTextStream &)" (?usageBson@TestApp@IEAAXAEAVQTextStream@@@Z)
lib виден, т.к. если заведомо указываю неправильный путь в LIBS, то получаю ошибку LNK1181
В чем может быть проблема?