Boost logo

Boost Users :

Subject: [Boost-users] Problem linking with boost::program_options with clang 3.5 (OSX)
From: Jürgen Simon (simon_at_[hidden])
Date: 2014-09-12 03:07:54


Hello,

I require OpenMP on OSX and had to build OpenMP/Clang to that end. The compiler reads as clang 3.5. For some reason, the compiler seems to have a problem linking executables with boost. I tried boost version 1.55 but got a compilation error. Boost 1.56 compiles with this warning:

clang-3.5: warning: argument unused during compilation: '-finline-functions'

but other than that compiles through and installs just fine. When trying to link an executable with program_options however, I get the following linker error:

Undefined symbols for architecture x86_64:
  "__ZN5boost15program_options11to_internalERKSs", referenced from:
      __ZN5boost15program_options11to_internalISsEESt6vectorISsSaISsEERKS2_IT_SaIS5_EE in radolan2cf.cpp.o
  "__ZN5boost15program_options19options_descriptionC1ERKSsjj", referenced from:
      _main in radolan2cf.cpp.o
  "__ZN5boost15program_options20invalid_option_valueC1ERKSs", referenced from:
      __ZN5boost15program_options8validateIfcEEvRNS_3anyERKSt6vectorISbIT0_St11char_traitsIS5_ESaIS5_EESaIS9_EEPT_l in radolan2cf.cpp.o
  "__ZN5boost15program_options22error_with_option_nameC2ERKSsS3_S3_i", referenced from:
      __ZN5boost15program_options16validation_errorC2ENS1_6kind_tERKSsS4_i in radolan2cf.cpp.o
  "__ZN5boost15program_options6detail7cmdline21set_additional_parserENS_9function1ISt4pairISsSsERKSsEE", referenced from:
      __ZN5boost15program_options25basic_command_line_parserIcE12extra_parserENS_9function1ISt4pairISsSsERKSsEE in radolan2cf.cpp.o
  "__ZN5boost15program_options6detail7cmdlineC2ERKSt6vectorISsSaISsEE", referenced from:
      __ZN5boost15program_options25basic_command_line_parserIcEC2EiPKPKc in radolan2cf.cpp.o
  "__ZN5boost15program_options8validateERNS_3anyERKSt6vectorISsSaISsEEPSsi", referenced from:
      __ZNK5boost15program_options11typed_valueISscE6xparseERNS_3anyERKSt6vectorISsSaISsEE in radolan2cf.cpp.o
  "__ZN5boost15program_optionslsERSoRKNS0_19options_descriptionE", referenced from:
      _main in radolan2cf.cpp.o
  "__ZNK5boost15program_options22abstract_variables_mapixERKSs", referenced from:
      __ZNK5boost15program_options13variables_mapixERKSs in radolan2cf.cpp.o
  "__ZNK5boost15program_options22error_with_option_name23substitute_placeholdersERKSs", referenced from:
      __ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options20invalid_option_valueEEEEE in radolan2cf.cpp.o
      __ZTVN5boost16exception_detail19error_info_injectorINS_15program_options20invalid_option_valueEEE in radolan2cf.cpp.o
      __ZTVN5boost15program_options20invalid_option_valueE in radolan2cf.cpp.o
      __ZTVN5boost15program_options16validation_errorE in radolan2cf.cpp.o
      __ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options16validation_errorEEEEE in radolan2cf.cpp.o
      __ZTVN5boost16exception_detail19error_info_injectorINS_15program_options16validation_errorEEE in radolan2cf.cpp.o
  "__ZNK5boost15program_options29value_semantic_codecvt_helperIcE5parseERNS_3anyERKSt6vectorISsSaISsEEb", referenced from:
      __ZTVN5boost15program_options11typed_valueIfcEE in radolan2cf.cpp.o
      __ZTVN5boost15program_options11typed_valueISscEE in radolan2cf.cpp.o
ld: symbol(s) not found for architecture x86_64
clang-3.5: error: linker command failed with exit code 1 (use -v to see invocation)

I’m a little stumped as to how to fix this problem. Can someone help me out?

Kind Regards,
Jürgen



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net