Unable to build LDView on xUbuntu 20.04
Closed this issue · 1 comments
AnibalPinto commented
Hi,
I am using xUbuntu 20.04 and have some problems building LDview.
$ qmake --version
QMake version 3.1
Using Qt version 5.12.8 in /usr/lib/x86_64-linux-gnu
When doing make:
$ make
...
g++ -o LDView .obj-qt5/QTMain.o .obj-qt5/ModelViewerWidget.o .obj-qt5/Preferences.o .obj-qt5/LDViewErrors.o .obj-qt5/LDViewExtraDir.o .obj-qt5/AlertHandler.o .obj-qt5/LDViewSnapshotSettings.o .obj-qt5/LDViewPartList.o .obj-qt5/misc.o .obj-qt5/LDViewJpegOptions.o .obj-qt5/LDViewModelTree.o .obj-qt5/LDViewBoundingBox.o .obj-qt5/LDViewMainWindow.o .obj-qt5/LDViewLatitudeLongitude.o .obj-qt5/LDViewMpdModel.o .obj-qt5/LDViewExportOption.o .obj-qt5/LDViewCustomizeToolbar.o .obj-qt5/SnapshotTaker.o .obj-qt5/SnapshotAlertHandler.o .obj-qt5/qrc_resources.o .obj-qt5/moc_ModelViewerWidget.o .obj-qt5/moc_Preferences.o .obj-qt5/moc_LDViewErrors.o .obj-qt5/moc_LDViewExtraDir.o .obj-qt5/moc_LDViewPartList.o .obj-qt5/moc_LDViewJpegOptions.o .obj-qt5/moc_LDViewSnapshotSettings.o .obj-qt5/moc_LDViewModelTree.o .obj-qt5/moc_LDViewLatitudeLongitude.o .obj-qt5/moc_LDViewMpdModel.o .obj-qt5/moc_LDViewExportOption.o .obj-qt5/moc_LDViewMainWindow.o .obj-qt5/moc_About.o .obj-qt5/moc_LDViewCustomizeToolbar.o -L../TCFoundation -L../LDLib -L../LDLoader -L../TRE -L../boost/lib -lLDraw-qt5 -L../LDExporter -lX11 -lLDLoader-qt5 -lTRE-qt5 -lTCFoundation-qt5 -lz -ljpeg -lpng -lGLU -lgl2ps -lLDExporter-qt5 -ltinyxml -L../lib -l3ds -lpthread /usr/lib/x86_64-linux-gnu/libGL.so /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so /usr/lib/x86_64-linux-gnu/libQt5PrintSupport.so /usr/lib/x86_64-linux-gnu/libQt5Widgets.so /usr/lib/x86_64-linux-gnu/libQt5Gui.so /usr/lib/x86_64-linux-gnu/libQt5Core.so
/usr/bin/ld: skipping incompatible ../lib/lib3ds.a when searching for -l3ds
/usr/bin/ld: ../LDExporter/libLDExporter-qt5.a(LD3dsExporter.o): in function `LD3dsExporter::doExport2(LDLModel*, Lib3dsNode*, float const*, int, bool, bool, bool)':
/home/nine/ldview/LDExporter/LD3dsExporter.cpp:325: undefined reference to `lib3ds_mesh_resize_vertices'
/usr/bin/ld: /home/nine/ldview/LDExporter/LD3dsExporter.cpp:328: undefined reference to `lib3ds_mesh_resize_faces'
I poked around and found the issue is linker trying to link with lib3ds.a instead of lib3ds-64.a
Using some message on Ldview.pro I printed the values of QT_ARCH and QMAKE_PLATFORM on identifier unix :
QT_ARCH: x86_64
QMAKE_PLATFORM: linux unix posix
So I did a change on LDView.pro :
diff --git a/QT/LDView.pro b/QT/LDView.pro
index 6a7d00c8..8026b560 100644
--- a/QT/LDView.pro
+++ b/QT/LDView.pro
@@ -329,7 +329,7 @@ unix {
exists(../boost/lib/libboost_thread.a){
BOOSTLIB = ../boost/lib/libboost_thread.a
}
- linux-g++-64{
+ contains(QT_ARCH, "x86_64") {
contains(DEFINES,EXPORT_3DS) {
LIBS += -l3ds-64
}
I don't have a 32 bit machine to validate if this has impact or not and I find strange only happen to me.
I am using only command lines to build qmake LDView.pro && make.
pbartfai commented
Please build the code with the following commands:
$ qmake -spec linux-g++-64
$ make