JensReimann / RTKLIB

Port of RTKLIB GUI to Qt
39 stars 12 forks source link

Building under OS X #9

Closed fwde closed 7 years ago

fwde commented 7 years ago

I am trying to build the QT apps on OS X, but having issues.

First a qmake -recursive is giving me the Makefile. It seems fine. Unfortunately, during linking of libRTKLib there are missing symbols.

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -headerpad_max_install_names -stdlib=libc++ -Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -mmacosx-version-min=10.9  -single_module -dynamiclib -compatibility_version 1.0 -current_version    1.0.0 -install_name libRTKLib.1.dylib -o libRTKLib.1.0.0.dylib rtkcmn.o convkml.o convrnx.o convgpx.o datum.o download.o ephemeris.o geoid.o gis.o ionex.o lambda.o options.o pntpos.o postpos.o ppp.o ppp_ar.o ppp_corr.o preceph.o qzslex.o rcvraw.o rinex.o rtcm.o rtcm2.o rtcm3.o rtcm3e.o rtkpos.o rtksvr.o sbas.o solution.o stream.o streamsvr.o tides.o tle.o binex.o crescent.o gw10.o javad.o novatel.o nvs.o rcvlex.o rt17.o septentrio.o skytraq.o ss2.o ublox.o cmr.o    
Undefined symbols for architecture x86_64:
  "_settime", referenced from:
      _procpos in postpos.o
  "_settspan", referenced from:
      _postpos in postpos.o
      _execses in postpos.o
  "_showmsg", referenced from:
      _convrnx in convrnx.o
      _convrnx_s in convrnx.o
      _gen_strfile in convrnx.o
      _open_strfile in convrnx.o
      _showstat in convrnx.o
      _dl_exec in download.o
      _test_local in download.o
      ...
ld: symbol(s) not found for architecture x86_64

Any ideas?

Edit: problem is there on both 2.4.3 branches.

JensReimann commented 7 years ago

Unfortunately, I'm not familiar with OS X, but trying to help.

In principle the error is right. All three missing references are dummy functions which are implemented in the corresponding applications. There are stub functions which are only used on Windows. You can try to solve the problem by defining WIN_DLL which includes these stubs (which may result in duplicated function references while linking the apps later). Again, the real implementation is not in the library but in the applications.

fwde commented 7 years ago

Thanks for this useful and fast information. I was able to build with a lot of manual hacking. For example, the problem here is fixable with this. Then there are other problems, like not finding libRTKLib.1.0.0.dylib, that could also be fixed manually. After all, rtknavi was not showing any bars, but the rest seems to be working.

Because of limited time, too much effort for me for now.

rtknavi_osx