25 lines
517 B
Bash
25 lines
517 B
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
echo "=== Step 1: Compile each .cpp to object files ==="
|
|
g++ -std=c++17 -c foo.cpp -o foo.o
|
|
g++ -std=c++17 -c main.cpp -o main.o
|
|
echo "Created foo.o and main.o"
|
|
|
|
echo ""
|
|
echo "=== Step 2: Inspect object files with nm ==="
|
|
echo "--- foo.o symbols (defines add) ---"
|
|
nm -C foo.o
|
|
echo ""
|
|
echo "--- main.o symbols (references add) ---"
|
|
nm -C main.o
|
|
|
|
echo ""
|
|
echo "=== Step 3: Link object files into executable ==="
|
|
g++ foo.o main.o -o app
|
|
echo "Created app"
|
|
|
|
echo ""
|
|
echo "=== Step 4: Run ==="
|
|
./app
|