How to read "compiier output "
-
As stupid as it sounds - what are the piece-parts of compiler output ? I need to know where to find the library created.... ...and please do not tell me that "11:19:00" is a time of creation.. Actually - is there a "RTFM" document describing the "compiler output ?
\
11:19:00: Running steps for project HCI_VERSION_622...
11:19:00: Configuration unchanged, skipping qmake step.
11:19:00: Starting: "/usr/bin/make" -j4
/home/qy/Qt/6.2.2/gcc_64/bin/qmake -o Makefile ../HCI_VERSION_622/HCI_VERSION_622.pro -spec linux-g++ CONFIG+=debug CONFIG+=qml_debug
rm -f libHCI_VERSION_622.so.1.0.0 libHCI_VERSION_622.so libHCI_VERSION_622.so.1 libHCI_VERSION_622.so.1.0
g++ -Wl,-rpath,/home/qy/Qt/6.2.2/gcc_64/lib -Wl,-rpath-link,/home/qy/Qt/6.2.2/gcc_64/lib -shared -Wl,-soname,libHCI_VERSION_622.so.1 -o libHCI_VERSION_622.so.1.0.0 main.o mainwindow_hci_v_622.o moc_mainwindow_hci_v_622.o /home/qy/Qt/6.2.2/gcc_64/lib/libQt6Widgets.so /home/qy/Qt/6.2.2/gcc_64/lib/libQt6Gui.so /home/qy/Qt/6.2.2/gcc_64/lib/libQt6Concurrent.so /home/qy/Qt/6.2.2/gcc_64/lib/libQt6Core.so -lpthread -lGL
ln -s libHCI_VERSION_622.so.1.0.0 libHCI_VERSION_622.so
ln -s libHCI_VERSION_622.so.1.0.0 libHCI_VERSION_622.so.1
ln -s libHCI_VERSION_622.so.1.0.0 libHCI_VERSION_622.so.1.0
11:19:02: The process "/usr/bin/make" exited normally.
11:19:02: Elapsed time: 00:02. -
As stupid as it sounds - what are the piece-parts of compiler output ? I need to know where to find the library created.... ...and please do not tell me that "11:19:00" is a time of creation.. Actually - is there a "RTFM" document describing the "compiler output ?
\
11:19:00: Running steps for project HCI_VERSION_622...
11:19:00: Configuration unchanged, skipping qmake step.
11:19:00: Starting: "/usr/bin/make" -j4
/home/qy/Qt/6.2.2/gcc_64/bin/qmake -o Makefile ../HCI_VERSION_622/HCI_VERSION_622.pro -spec linux-g++ CONFIG+=debug CONFIG+=qml_debug
rm -f libHCI_VERSION_622.so.1.0.0 libHCI_VERSION_622.so libHCI_VERSION_622.so.1 libHCI_VERSION_622.so.1.0
g++ -Wl,-rpath,/home/qy/Qt/6.2.2/gcc_64/lib -Wl,-rpath-link,/home/qy/Qt/6.2.2/gcc_64/lib -shared -Wl,-soname,libHCI_VERSION_622.so.1 -o libHCI_VERSION_622.so.1.0.0 main.o mainwindow_hci_v_622.o moc_mainwindow_hci_v_622.o /home/qy/Qt/6.2.2/gcc_64/lib/libQt6Widgets.so /home/qy/Qt/6.2.2/gcc_64/lib/libQt6Gui.so /home/qy/Qt/6.2.2/gcc_64/lib/libQt6Concurrent.so /home/qy/Qt/6.2.2/gcc_64/lib/libQt6Core.so -lpthread -lGL
ln -s libHCI_VERSION_622.so.1.0.0 libHCI_VERSION_622.so
ln -s libHCI_VERSION_622.so.1.0.0 libHCI_VERSION_622.so.1
ln -s libHCI_VERSION_622.so.1.0.0 libHCI_VERSION_622.so.1.0
11:19:02: The process "/usr/bin/make" exited normally.
11:19:02: Elapsed time: 00:02.11:19:00: Running steps for project HCI_VERSION_622...
11:19:00: Configuration unchanged, skipping qmake step.Boilerplate startup. As noted, no changes detected, the "qmake" step has been skipped
11:19:00: Starting: "/usr/bin/make" -j4
starting /usr/bin/make with 4 jobs (-j4)
/home/qy/Qt/6.2.2/gcc_64/bin/qmake -o Makefile ../HCI_VERSION_622/HCI_VERSION_622.pro -spec linux-g++ CONFIG+=debug CONFIG+=qml_debug
qmake constructs a Makefile
rm -f libHCI_VERSION_622.so.1.0.0 libHCI_VERSION_622.so libHCI_VERSION_622.so.1 libHCI_VERSION_622.so.1.0
remove (rm) outdated project target
g++ -Wl,-rpath,/home/qy/Qt/6.2.2/gcc_64/lib -Wl,-rpath-link,/home/qy/Qt/6.2.2/gcc_64/lib -shared -Wl,-soname,libHCI_VERSION_622.so.1 -o libHCI_VERSION_622.so.1.0.0 main.o mainwindow_hci_v_622.o moc_mainwindow_hci_v_622.o /home/qy/Qt/6.2.2/gcc_64/lib/libQt6Widgets.so /home/qy/Qt/6.2.2/gcc_64/lib/libQt6Gui.so /home/qy/Qt/6.2.2/gcc_64/lib/libQt6Concurrent.so /home/qy/Qt/6.2.2/gcc_64/lib/libQt6Core.so -lpthread -lGL
I think that's all one command line : run g++ to create the target
ln -s libHCI_VERSION_622.so.1.0.0 libHCI_VERSION_622.so
ln -s libHCI_VERSION_622.so.1.0.0 libHCI_VERSION_622.so.1
ln -s libHCI_VERSION_622.so.1.0.0 libHCI_VERSION_622.so.1.0create some soft links, presumably needed for link name resolution for other projects that might use this library
11:19:02: The process "/usr/bin/make" exited normally.
11:19:02: Elapsed time: 00:02.Boilerplate successful completion of project creation
Keep Calm and Carry On
-
11:19:00: Running steps for project HCI_VERSION_622...
11:19:00: Configuration unchanged, skipping qmake step.Boilerplate startup. As noted, no changes detected, the "qmake" step has been skipped
11:19:00: Starting: "/usr/bin/make" -j4
starting /usr/bin/make with 4 jobs (-j4)
/home/qy/Qt/6.2.2/gcc_64/bin/qmake -o Makefile ../HCI_VERSION_622/HCI_VERSION_622.pro -spec linux-g++ CONFIG+=debug CONFIG+=qml_debug
qmake constructs a Makefile
rm -f libHCI_VERSION_622.so.1.0.0 libHCI_VERSION_622.so libHCI_VERSION_622.so.1 libHCI_VERSION_622.so.1.0
remove (rm) outdated project target
g++ -Wl,-rpath,/home/qy/Qt/6.2.2/gcc_64/lib -Wl,-rpath-link,/home/qy/Qt/6.2.2/gcc_64/lib -shared -Wl,-soname,libHCI_VERSION_622.so.1 -o libHCI_VERSION_622.so.1.0.0 main.o mainwindow_hci_v_622.o moc_mainwindow_hci_v_622.o /home/qy/Qt/6.2.2/gcc_64/lib/libQt6Widgets.so /home/qy/Qt/6.2.2/gcc_64/lib/libQt6Gui.so /home/qy/Qt/6.2.2/gcc_64/lib/libQt6Concurrent.so /home/qy/Qt/6.2.2/gcc_64/lib/libQt6Core.so -lpthread -lGL
I think that's all one command line : run g++ to create the target
ln -s libHCI_VERSION_622.so.1.0.0 libHCI_VERSION_622.so
ln -s libHCI_VERSION_622.so.1.0.0 libHCI_VERSION_622.so.1
ln -s libHCI_VERSION_622.so.1.0.0 libHCI_VERSION_622.so.1.0create some soft links, presumably needed for link name resolution for other projects that might use this library
11:19:02: The process "/usr/bin/make" exited normally.
11:19:02: Elapsed time: 00:02.Boilerplate successful completion of project creation
Keep Calm and Carry On
Thanks So this is where libraries folders are ? g++ -Wl,-rpath,/home/qy/Qt/6.2.2/gcc_64/lib -Wl,-rpath-link, my libraries of interest /home/qy/Qt/6.2.2/gcc_64/lib -shared -Wl,-soname,libHCI_VERSION_622.so.1 -o libHCI_VERSION_622.so.1.0.0 main.o mainwindow_hci_v_622.o moc_mainwindow_hci_v_622.o other libraries /home/qy/Qt/6.2.2/gcc_64/lib/libQt6Widgets.so /home/qy/Qt/6.2.2/gcc_64/lib/libQt6Gui.so /home/qy/Qt/6.2.2/gcc_64/lib/libQt6Concurrent.so /home/qy/Qt/6.2.2/gcc_64/lib/libQt6Core.so -lpthread -lGL
-
Thanks So this is where libraries folders are ? g++ -Wl,-rpath,/home/qy/Qt/6.2.2/gcc_64/lib -Wl,-rpath-link, my libraries of interest /home/qy/Qt/6.2.2/gcc_64/lib -shared -Wl,-soname,libHCI_VERSION_622.so.1 -o libHCI_VERSION_622.so.1.0.0 main.o mainwindow_hci_v_622.o moc_mainwindow_hci_v_622.o other libraries /home/qy/Qt/6.2.2/gcc_64/lib/libQt6Widgets.so /home/qy/Qt/6.2.2/gcc_64/lib/libQt6Gui.so /home/qy/Qt/6.2.2/gcc_64/lib/libQt6Concurrent.so /home/qy/Qt/6.2.2/gcc_64/lib/libQt6Core.so -lpthread -lGL
The
-Wl,...
arguments to g++ are passed on the the linker. For details of therpath
andrpath-link
arguments see here: [Using LD, the GNU linker - Options](https://ftp.gnu.org/old-gnu/Manuals/ld-2.9.1/html\_node/ld\_3.html#:~:text=s' and `-S'.-,-rpath,-dir)Member 14968771 wrote:
-shared -Wl,-soname,libHCI_VERSION_622.so.1 -o libHCI_VERSION_622.so.1.0.0 main.o mainwindow_hci_v_622.o moc_mainwindow_hci_v_622.o
-shared
: create a shared runtime -necessary for producing a shared library (DLL in windows-speak)-Wl,-soname,libHCI...
: see above document re-soname
linker option The.o
files are the object files to put in the shared library You are correct about the other libraries. They get picked up by rpath and rpath-link, so that when you use thenlibHCI_VERSION_6622
library, you do not have to add them to the link command lineKeep Calm and Carry On