undefined reference to `_imp___ZN8mongocxx7v_noabi8instanceC1Ev in Qt?
-
@Vivek_A said in undefined reference to `_imp___ZN8mongocxx7v_noabi8instanceC1Ev in Qt?:
LIBS += C:/mongo-cxx-driver/lib/libbsoncxx.dll.a
This looks much more reasonable than before!
Now as @jsulm says it looks like you need some further similars for other library files required to link successfully.
@JonB i have doubt , the compiler is mingw 32 and i build the mongdb in mingw 64 is this makes any issues
I am not sure what you are saying. It will not be possible to mix 64-bit-compiled code with 32-bit-compiled code in one executable. The compiler's bit-ness is not at issue, rather only whichever bit-ness it is generating code for.
Start by trying what @jsulm has pointed out, then deal with bit-ness if there is still an error.....
-
@JonB modified
LIBS += C:/mongo-cxx-driver/lib/libbsoncxx.dll.a LIBS += C:/mongo-cxx-driver/lib/libmongocxx.dll.a INCLUDEPATH += C:/mongo-cxx-driver/include/mongocxx/v_noabi DEPENDPATH += C:/mongo-cxx-driver/include/mongocxx/v_noabi INCLUDEPATH += C:/mongo-cxx-driver/include/bsoncxx/v_noabi DEPENDPATH += C:/mongo-cxx-driver/include/bsoncxx/v_noabi
clean & rebuilded
Output:./release\main.o:main.cpp:(.text+0x19): undefined reference to `_imp___ZN8mongocxx7v_noabi8instanceC1Ev' ./release\main.o:main.cpp:(.text+0x23): undefined reference to `_imp___ZN8mongocxx7v_noabi8instanceD1Ev' collect2.exe: error: ld returned 1 exit status
-
@Vivek_A anybody help...is that compiler problem
./debug\main.o: In function `Z5qMainiPPc': E:/vivek/dw_tdoa_controller7/dw_tdoa_controller/main.cpp:36: undefined reference to `_imp___ZN8mongocxx7v_noabi8instanceC1Ev' E:/vivek/dw_tdoa_controller7/dw_tdoa_controller/main.cpp:36: undefined reference to `_imp___ZN8mongocxx7v_noabi8instanceD1Ev' E:/vivek/dw_tdoa_controller7/dw_tdoa_controller/main.cpp:36: undefined reference to `_imp___ZN8mongocxx7v_noabi8instanceD1Ev' collect2.exe: error: ld returned 1 exit status Makefile:36: recipe for target 'debug' failed mingw32-make[1]: *** [debug\RTLSController.exe] Error 1 mingw32-make: *** [debug] Error 2 17:25:51: The process "C:\Qt\Qt5.11.2\Tools\mingw530_32\bin\mingw32-make.exe" exited with code 2. Error while building/deploying project dw_controller (kit: Desktop Qt 5.11.2 MinGW 32bit) When executing step "Make"
-
Try inverting the order of the libraries you are linking.
-
The question is: did you build the MongoDB C++ library in 32 or 64 bit ?
If the later then you can't use them with to build a 32bit application. Beside compiler, architecture matters as well. You can't mix and match 32 and 64 bit when building librairies or applications.