2017-09-22 55 views
1

我建立使用ARM-Linux的GCC交叉編譯器上使用TS-7800板libwebsockets庫中的Web服務器。使用Ubuntu。安裝CMake,OpenSSL和libwebsockets,並根據Github上的指示構建庫。libwebsockets.h - 沒有這樣的文件或目錄,Ubuntu的,在arm-linux的-GCC交叉編譯器

我做了一個「hello world」C文件,其中#includes libwebsockets.h 當我使用gcc編譯可執行文件時,它編譯得很好,運行.exe。 當我用手臂的linux-GCC編譯,我得到以下幾點:

[email protected]:/# arm-linux-gcc -o hellosockets /home/gordon/workspace/HelloCrossWorld/hello_cross.c 
/home/gordon/workspace/HelloCrossWorld/hello_cross.c:3:27: libwebsockets.h: No such file or directory 

看來,ARM-Linux的gcc編譯器不能 「看到」 的libwebsockets頭文件。我猜測websockets庫的安裝是成功的,因爲gcc可以看到它。

如何使手臂交叉編譯器看到libwebsockets.h文件?

謝謝您的輸入!

回答

0

我不知道-I和的 - l gcc和arm-linux-gcc的預處理器選項。 我能夠將庫添加到項目中,並將考慮爲項目創建makefile。

1

你需要armhf架構添加到您的軟件包管理系統。作爲超級用戶執行以下操作:

dpkg --add-architecture armhf 
apt update 
apt install libwebsockets-dev:armhf 

確保您還使用armhf工具鏈:

apt install binutils-arm-linux-gnueabihf g++-arm-linux-gnueabihf 

或者看看Buildroot

+0

謝謝,但一些軟件包沒有安裝(404找不到),Linux無法找到軟件包「libwebsockets-dev:armhf。我會看看Buildroot。 – Gordon

+1

@Gordon我試過這個Debian 9,但是AFAIK在Ubuntu中應該是類似的,你是否運行'apt update'?它可以解釋爲什麼有些軟件包找不到。 – yegorich

相關問題