[問題] make時,會跳過一些incompatible的檔案
以下是我們助教給的makefile
-------------------------------------------
all: Lab5
CXX = g++
OFLAGS = -pedantic -Wall -fomit-frame-pointer -funroll-all-loops -O3 -DNDEBUG
LINKFLAGS = -static
Lab5: main.o parser.o
$(CXX) $(LINKFLAGS) main.o parser.o -o Lab5 -L lib -l3rdFlute2_5
main.o: main.cpp algo.h
$(CXX) $(LINKFLAGS) -DCOMPILETIME="\"`date`\"" main.cpp -c
parser.o: parser.cpp parser.h
$(CXX) $(LINKFLAGS) parser.cpp -c
clean:
rm -rf *.o *.gch Lab5
------------------------------------------------------------------
問題:
這個makefile在實驗室的工作站跑沒有問題
如果在我自己新裝的ubuntu 10.04上跑,會出現以下的錯誤
( l3rdFlute2_5 第一個字母是L小寫 )
g++ -static main.o parser.o -o Lab5 -L lib -l3rdFlute2_5
/usr/bin/ld: skipping incompatible lib/lib3rdFlute2_5.a when searching
for -l3rdFlute2_5
/usr/bin/ld: cannot find -l3rdFlute2_5
collect2: ld return 1 exit status
make: *** [Lab5] Error 1
而助教給的資料夾裡面,有一個"lib"資料夾,裡面有兩個檔案
lib3rdFlute2_5.a lib3rdFlute3.a
另外,在碰到這個問題之前,有另一個情況是
在 include <string> 後,strcpy沒辦法compile過
我加了一行 include<string.h> 才沒這個問題,是否我有東西沒安裝齊全= =?
第一次接觸linux,請多指教。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.90.80
→
06/04 03:19, , 1F
06/04 03:19, 1F
→
06/04 04:01, , 2F
06/04 04:01, 2F
→
06/04 06:59, , 3F
06/04 06:59, 3F
→
06/04 10:19, , 4F
06/04 10:19, 4F
→
06/04 20:26, , 5F
06/04 20:26, 5F