URTool to Support c++11

We’ve managed to build our c++11/14 daemon through static linking.
Something like the following CMakeLists.txt example:

cmake_minimum_required(VERSION 3.0.2 FATAL_ERROR)
project(example_cpp14 VERSION 0.0.1 LANGUAGES CXX)

include_directories(include
  lib/include
  ...
)

add_executable(${PROJECT_NAME}
  src/main_cpp14.cpp
  lib/src/lib_cpp14.cpp
  ...
)

target_link_libraries(${PROJECT_NAME}
  PUBLIC
    # the following library list order is crucial!
    xmlrpc_server_abyss++
    xmlrpc_server_abyss
    xmlrpc_server_pstream++
    xmlrpc_server
    xmlrpc_abyss
    xmlrpc_server++
    xmlrpc++
    xmlrpc
    xmlrpc_packetsocket
    xmlrpc_xmlparse
    xmlrpc_xmltok
    xmlrpc_util
    curl
    pthread
)

set_target_properties(${PROJECT_NAME}
  PROPERTIES
    CXX_STANDARD 14
    CXX_STANDARD_REQUIRED ON
    COMPILE_FLAGS "-m32 -march=i686"
    LINK_FLAGS "-m32 -static-libstdc++ -static-libgcc -static"
)

install(
  TARGETS ${PROJECT_NAME}
  RUNTIME DESTINATION ${PROJECT_SOURCE_DIR}/../src/main/resources/com/example_company/example_urcap_cpp14/impl/daemon
)

Of course you need all the 32-bit static librariy files, i.e. *.a libraries to successfully compile through cmake.

1 Like