make時,會跳過一些incompatible的檔案 - Linux

Susan avatar
By Susan
at 2010-06-04T02:34

Table of Contents

以下是我們助教給的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,請多指教。








--
Tags: Linux

All Comments

Andy avatar
By Andy
at 2010-06-08T03:03
你的系統和lib file可能一個是32-bit另一個是64-bit
Selena avatar
By Selena
at 2010-06-13T01:43
http://bit.ly/9gIWt8 結論應該是裝32-bit lib, CFLAGS加 -m32
Adele avatar
By Adele
at 2010-06-15T14:43
應該是 include cstring, not string
Skylar DavisLinda avatar
By Skylar DavisLinda
at 2010-06-17T22:31
恩,我再試試,謝謝^^
Ida avatar
By Ida
at 2010-06-19T14:15
確實是64bit的東西= =

Base on ubuntu 10.04 - vinux 3.0

Rosalind avatar
By Rosalind
at 2010-06-04T02:06
太常逛distrowatch網站真的會上癮 這個vinux 3.0的心得就是太常逛distrowatch而來的 XDD 這幾天在distrowatch上看到了這個發行版的linux 上了官方網站看了一下覺得還蠻好奇的 加上官網上的screenshot有安裝照片還看到支援了20種語言 我就猜想 ...

緊急 有誰考過Linux國際證照 ?

Adele avatar
By Adele
at 2010-06-03T22:31
(恕刪) : LPIC ... 忘了,只記得前一陣子 NOVELL 有推出,考過 LPIC LV1 的人可以跟 NOVELL 申 : 請 NOVELL 的 NCLP 證照 是NCLA比NCLP低一階 可以申請NCLP的話Novell要賺啥? XD - ...

Mandriva Linux 2010.1 RC2 Released

Caitlin avatar
By Caitlin
at 2010-06-03T21:54
http://wiki.mandriva.com/en/2010.1_RC2 下載 ftp://ftp.isu.edu.tw/Linux/Mandriva/devel/iso/2010.1/rc2 (義守大學現在似乎都比國網中心更早 mirror 完成) 包含中文的 Live CD 仍然是 mandriv ...

在VM底下,如何選擇要連接的實體網卡?

Charlotte avatar
By Charlotte
at 2010-06-03T21:11
我最近剛開始碰VMware,遇到點問題來求助 我的電腦有兩張實體網卡,一張是對外的網路,另外一張是用來連接測試用的 Router 在XP使用都沒問題,但我現在裝了 VMware Player 和 Ubuntu 10.04 我想要在Ubuntu也可以像在XP一樣兩張做不同用途 於是我在 VMware 共 ...

evolution匯入outlook 2007 pst檔問題

Victoria avatar
By Victoria
at 2010-06-03T21:05
想要改用evolution取代原來的outlook2007 查資料似乎是可以直接將pst檔匯入 但是我在evolution裡選擇pst檔時 在檔案類型卻是灰化,無法選擇,同時也沒有下一步可以按 請教有何解決的方法,謝謝 - ...