
実現したいこと
同じオブジェクトファイルを生成したい
前提
IDEを使わずに開発された案件を、IDEに移行しクロスデバッグ環境を
実現したいのですが、まず元と同じ実行ファイルがビルドできるよう
環境を作成しています
あくまで実現したいことは上述の内容なので、この前提を読んで違う方法
での実現方法の提案等はお控えください。
ソースの内容やファイル名などは出せません
発生している問題・エラーメッセージ
同じコンパイラのバージョン、同じオプションで、同じソースをコンパイルしても
同じオブジェクトが作成されない(中身もサイズも数バイト~数kバイト違う)
該当のソースコード(Makefile)
VPATH = ../aaa:../bbb (伏せ)
CROSS_COMPILE ?=
CXX = arm-linux-gnueabihf-g++
CXXFLAGS = -O0 -Wall -std=c++0x -Wextra
INCLUDES = -I..
LDFLAGS = -L../extra/lib
LDLIBS = -lpthread -lrt -lcurl -ljson-c
EXEC = zzzz(伏せ)
CPP_SRCS =
xxx/yyy.cpp(伏せ)
(省略)
OBJS = $(notdir $(CPP_SRCS:.cpp=.o))
all: $(EXEC)
$(EXEC): $(OBJS)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS)
cp -a $(EXEC) $(EXEC).org
arm-linux-gnueabihf-strip $(EXEC)
%.o: %.cpp
$(CXX) $(CXXFLAGS) $(INCLUDES) -c -o $@ $<
jjj/kkk.o: ../jjj/kkk.cpp(伏せ)
$(CXX) $(CXXFLAGS) $(INCLUDES) -c -o $@ $<
clean:
-rm -rf $(EXEC) $(OBJS) $(EXEC).org
eclipseの結果に合わせるように変更してます
試したこと
ひたすらオプションやビルド順序も含めて同じになるようにした
eclipseでビルド時のオプションに--versionを付けて実行して、バージョンがあっている
ことを確認した(これだとビルドは失敗するのであくまで確認のため)
補足情報
・eclipseのビルド時のコマンド
arm-linux-gnueabihf-g++ -O0 -Wall -std=c++0x -Wextra -I.. -c -o ccc.o ddd.cpp
(makefileの結果もテキスト比較アプリに張り付けて確認しましたが同じでした)
・環境
OS:Linux,debian系,32bit
eclipse:ver3.8.1
・arm-linux-gnueabihf-g++ (Debian 6.3.0-18) 6.3.0 20170516
・差分を実際に計算してみたら、4096byteちょうどでした。
問題解決に関係あるかわかりませんが。















回答1件
あなたの回答
tips
プレビュー