linker error when build QJsonRPC using CMake 3.22, visual studio 2022 and Qt 5.11.0

54 views
Skip to first unread message

ngoc pham

unread,
Nov 24, 2021, 8:13:06 PM11/24/21
to qjsonrpc-development
help me to fix linker error, here is error message when building:
Build started...
1>------ Build started: Project: libQJsonRPC, Configuration: Release x64 ------
1>Automatic MOC for target libQJsonRPC
1>qjsonrpchttpserver.obj : error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __cdecl QJsonRpcHttpServerSocket::metaObject(void)const " (?metaObject@QJsonRpcHttpServerSocket@@UEBAPEBUQMetaObject@@XZ)
1>qjsonrpchttpserver.obj : error LNK2001: unresolved external symbol "public: virtual void * __cdecl QJsonRpcHttpServerSocket::qt_metacast(char const *)" (?qt_metacast@QJsonRpcHttpServerSocket@@UEAAPEAXPEBD@Z)
1>qjsonrpchttpserver.obj : error LNK2001: unresolved external symbol "public: virtual int __cdecl QJsonRpcHttpServerSocket::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@QJsonRpcHttpServerSocket@@UEAAHW4Call@QMetaObject@@HPEAPEAX@Z)
1>qjsonrpchttpserver.obj : error LNK2019: unresolved external symbol "public: void __cdecl QJsonRpcHttpServerSocket::messageReceived(class QJsonRpcMessage const &)" (?messageReceived@QJsonRpcHttpServerSocket@@QEAAXAEBVQJsonRpcMessage@@@Z) referenced in function "private: static int __cdecl QJsonRpcHttpServerSocket::onMessageComplete(struct http_parser *)" (?onMessageComplete@QJsonRpcHttpServerSocket@@CAHPEAUhttp_parser@@@Z)
1>qjsonrpchttpserver.obj : error LNK2019: unresolved external symbol "public: static struct QMetaObject const QJsonRpcHttpServerSocket::staticMetaObject" (?staticMetaObject@QJsonRpcHttpServerSocket@@2UQMetaObject@@B) referenced in function "public: void __cdecl QJsonRpcHttpServerPrivate::_q_socketDisconnected(void)" (?_q_socketDisconnected@QJsonRpcHttpServerPrivate@@QEAAXXZ)
1>qjsonrpchttpservermultithreaded.obj : error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __cdecl clsJsonRpcHttpClientThread::metaObject(void)const " (?metaObject@clsJsonRpcHttpClientThread@@UEBAPEBUQMetaObject@@XZ)
1>qjsonrpchttpservermultithreaded.obj : error LNK2001: unresolved external symbol "public: virtual void * __cdecl clsJsonRpcHttpClientThread::qt_metacast(char const *)" (?qt_metacast@clsJsonRpcHttpClientThread@@UEAAPEAXPEBD@Z)
1>qjsonrpchttpservermultithreaded.obj : error LNK2001: unresolved external symbol "public: virtual int __cdecl clsJsonRpcHttpClientThread::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@clsJsonRpcHttpClientThread@@UEAAHW4Call@QMetaObject@@HPEAPEAX@Z)
1>qjsonrpchttpservermultithreaded.obj : error LNK2019: unresolved external symbol "public: void __cdecl clsJsonRpcHttpClientThread::error(enum QAbstractSocket::SocketError)" (?error@clsJsonRpcHttpClientThread@@QEAAXW4SocketError@QAbstractSocket@@@Z) referenced in function "private: virtual void __cdecl clsJsonRpcHttpClientThread::run(void)" (?run@clsJsonRpcHttpClientThread@@EEAAXXZ)
1>qjsonrpchttpservermultithreaded.obj : error LNK2019: unresolved external symbol "public: static struct QMetaObject const clsJsonRpcHttpClientThread::staticMetaObject" (?staticMetaObject@clsJsonRpcHttpClientThread@@2UQMetaObject@@B) referenced in function "public: void __cdecl QJsonRpcHttpServerMultiThreadedPrivate::clientFinished(void)" (?clientFinished@QJsonRpcHttpServerMultiThreadedPrivate@@QEAAXXZ)
1>F:\BUILD\buildQJsonRPC\Release\libQJsonRPC.dll : fatal error LNK1120: 10 unresolved externals
1>Done building project "libQJsonRPC.vcxproj" -- FAILED.
2>------ Skipped Build: Project: ALL_BUILD, Configuration: Release x64 ------

Here is CMakeLists.txt:
project(libQJsonRPC)

cmake_minimum_required(VERSION 3.15)

# Find includes in corresponding build directories
set(CMAKE_INCLUDE_CURRENT_DIR ON)
# Instruct CMake to run moc automatically when needed.

set(CMAKE_AUTOMOC ON)

# Find the QtWidgets library
find_package(Qt5 COMPONENTS Core REQUIRED)
find_package(Qt5 COMPONENTS Gui REQUIRED)
find_package(Qt5 COMPONENTS Widgets REQUIRED)
find_package(Qt5 COMPONENTS Xml REQUIRED)
find_package(Qt5 COMPONENTS Network REQUIRED)
find_package(Qt5 COMPONENTS QuickControls2 REQUIRED)
find_package(Qt5 COMPONENTS Multimedia REQUIRED)
find_package(Qt5 COMPONENTS Svg REQUIRED)
find_package(Qt5 COMPONENTS Concurrent REQUIRED)
find_package(Qt5 COMPONENTS Charts REQUIRED)

find_package(Qt5 COMPONENTS 3DCore REQUIRED)
find_package(Qt5 COMPONENTS 3DRender REQUIRED)
find_package(Qt5 COMPONENTS 3DExtras REQUIRED)

IF (WIN32)
#SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:WINDOWS")
ENDIF (WIN32)

set(SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/libQJsonRPC")
file(GLOB_RECURSE SRC_FILES "${SRC_DIR}/*.cpp" "${SRC_DIR}/*.c")
#file(GLOB_RECURSE HDR_FILES "${SRC_DIR}/*.h")
#file(GLOB_RECURSE UI_FILES "${SRC_DIR}/*.ui")
#file(GLOB_RECURSE RCC_FILES "${SRC_DIR}/*.qrc")

#qt5_wrap_cpp(MOC_FILES ${SRC_FILES})
#qt5_wrap_ui(UI_FILES ${UI_FILES})
#qt5_add_resources(RCC_FILES ${RCC_FILES})

SOURCE_GROUP("Moc Files" FILES ${MOC_FILES})
SOURCE_GROUP("Ui Files" FILES ${UI_FILES})
SOURCE_GROUP("Header Files" FILES ${HDR_FILES})
SOURCE_GROUP("Source Files" FILES ${SRC_FILES})
include(D:/MY_WORK/QtOpenGLProjects/ATemplateFiles/header_directories.cmake)
header_directories(${SRC_DIR} header_dir_list)
include_directories(
${CMAKE_CURRENT_BINARY_DIR}
${header_dir_list}
#"D:/LIBRARIES/glm-0.9.9.8/include/"
#"D:/LIBRARIES/glfw-3.3.4/include/"
#"D:/LIBRARIES/assimp-5.0.1/include/"
#"D:/LIBRARIES/glew-2.1.0/include/"
)

link_directories(
#"D:/LIBRARIES/glm-0.9.9.8/lib/"
#"D:/LIBRARIES/glfw-3.3.4/lib"
#"D:/LIBRARIES/assimp-5.0.1/lib/"
#"D:/LIBRARIES/glew-2.1.0/lib/Release/x64/"
)
#SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:CONSOLE")
add_library(${PROJECT_NAME} SHARED
${SRC_FILES}
#${HDR_FILES}
#${MOC_FILES} 
#${UI_FILES}
#${RCC_FILES}
)
target_link_libraries(${PROJECT_NAME} #${QT_LIBRARIES}
Qt5::WinMain
Qt5::Core
Qt5::Gui
Qt5::Widgets
Qt5::Network
Qt5::Xml
Qt5::Svg
#glew32
#freeglut
)
target_include_directories(${PROJECT_NAME} PRIVATE ${SRC_DIR})
Reply all
Reply to author
Forward
0 new messages