Bob
Bob

Reputation: 5000

How to find actual location of library used by linker (gcc)

I have this compile command

qcc -Vgcc_ntoarmv7le -lang-c++ -Wl,-rpath-link,\
C:\Users\mureadr\Desktop\A\QNX_SDK\target\qnx6/armle-v7/lib -Wl,-rpath-link,\
C:\Users\mureadr\Desktop\A\QNX_SDK\target\qnx6/armle-v7/usr/lib -Wl,-O1 -Wl,-rpath,\
C:/fs/mp/qt5/lib -Wl,-rpath,C:/fs/mp/fordhmi/lib -shared -Wl,-soname,libHmiLogging.so.1\
-o libHmiLogging.so.1.0.0 .obj/hmiloggingcategory.o .obj/hmiloggingcategoryregistry.o\
.obj/hmiperformancelogging.o .obj/hmitracelogging.o\
-LC:\Users\mureadr\Desktop\A\QNX_SDK\target\qnx6/armle-v7/lib \
-LC:\Users\mureadr\Desktop\A\QNX_SDK\target\qnx6/armle-v7/usr/lib \
-LC:/Users/mureadr/Desktop/A/HMI_FORGF/qt5binaries/lib -lQt5Core \
-LC:/QNX650/target/qnx6/armle-v7/lib -LC:/QNX650/target/qnx6/armle-v7/usr/lib -lm  

When I run it under make, it runs fine but using another build system, I get the error

C:\Users\mureadr\Desktop\A\QNX_SDK\host\win32\x86\usr\bin\ntoarm-ld: cannot find -lQt5Core
cc: C:/Users/mureadr/Desktop/A/QNX_SDK/host/win32/x86/usr/bin/ntoarm-ld caught signal 1

Obviously the other build system doesn't have access to all the included directories.

Question

How can I find out which directory Qt5Core was pulled from?

Is there a linker option that will make it say I got Qt5Core from directory X?

I ran make with --debug=a but I didn't get any info about Qt5Core.

Upvotes: 2

Views: 813

Answers (1)

Mike Kinghan
Mike Kinghan

Reputation: 61610

Is there a linker option that will make it say I got Qt5Core from directory X?

Yes. It is -trace. To pass it via gcc, use gcc ... -Wl,-trace....

This will cause the linker to print the name of each input (object file or library) that it receives from the commandline together with the absolute path where it located the same.

BTW, passing debug options to make will produce debugging info from make but none from tools that are invoked by make.

Upvotes: 1

Related Questions