我認爲它不起作用,但我只是將我的程序文件從本地計算機上傳到Amazon EC2上的新實例。比試圖運行它:您如何爲Arch Linux構建Basic 64位Amazon Linux?
[[email protected] ~]$ ./webserver.net
-bash: ./webserver.net: /lib/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory
顯然沒有/lib/ld-linux-x86-64.so.2
。它是一個64位的實例。
我將如何編譯/鏈接在本地計算機上定位EC2實例。我不想在實例上構建它。
我的Makefile
OBJECTS= ./obj/hello.o
LDFLAGS = -L/usr/lib -lwt -lwthttp
./bin/webserver.net : $(OBJECTS)
g++ -o ./bin/webserver.net $(OBJECTS) $(LDFLAGS)
./obj/hello.o : ./src/hello.cpp
g++ -c ./src/hello.cpp -o ./obj/hello.o
.PHONY: clean
clean:
-rm -f obj/*.o bin/webserver.net core *~ src/*~
更新靜態鏈接文件。直到我按照正確的順序手動添加每個庫,纔有未定義的引用。這是必要的嗎?還是我做錯了?
g++ -static -pthread -o ./bin/out.net ./obj/hello.o -lwthttp -lwt -lboost_thread -lboost_system -lboost_program_options -lboost_random -lboost_signals -lboost_filesystem -lboost_regex -lboost_serialization -lboost_date_time -lssl -lcrypto -lz -ldl
只要我開始工作,它會標記爲正確。目前正在構建boost和wt靜態庫。 –
工程很棒。謝謝。如果你知道答案,請在上面添加一個小方面的問題。 –
我以爲你嘗試過'chroot'方法(perpahs使用和配置'schroot'包和命令)。 –