開啟mac終端,執行如下命令
1、$ git clone
2、$ cd c-ares
1、$ ./buildconf
2、$ autoconf configure.ac
3、$ ./configure
4、$ make
5、$ sudo make install
編譯出mac平台的庫,在」.libs/「目錄下
若以上執行執行過程中有報如下錯誤:
libtoolize not found.
1、$ brew install libtool
2、$ brew link libtool
參考:1、$ export ndk=/tmp/android-ndk-r8b(本機ndk路徑)
2、$ndk/build/tools/make-standalone-toolchain.sh \ --platform=android-19 \ --install-dir=/tmp/my-android-toolchain(本地乙個路徑,可自行指定)
3、$ export path=/tmp/my-android-toolchain/arm-linux-androideabi/bin:$path (前面部分/tmp/my-android-toolchain是2中指定的路徑)
另,本機執行的結果是執行到某個目錄下的壓縮檔案arm-linux-androideabi.tar.bz2,提示資訊中會顯示出該檔案的目錄,將該壓縮檔案拷貝到2中指定的目錄下,解壓縮即可,繼續後面的配置。
4、$ export sysroot=/tmp/my-android-toolchain/arm-linux-androideabi/sysroot (前面部分/tmp/my-android-toolchain是2中指定的路徑)
5、$ export cc="arm-linux-androideabi-gcc --sysroot=$sysroot"
6、$ export cxx="arm-linux-androideabi-g++ --sysroot=$sysroot"
7、$ ./configure --prefix=$(pwd)/build --host=arm-linux --disable-shared cflags="-march=armv7-a" cppflags="-d__android_api__=19"
8、若出現如下錯誤:
/users/ouasahikage/my-android-toolchain/arm-linux-androideabi/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: cannot open crtbegin_dynamic.o: no such file or directory
說明是上面的export配置有問題,自己檢查是否配置正確。
9、若配置成功(執行configure命令沒有報錯),執行make報如下錯誤:
undefined reference to 'stderr'
說明是androidapi版本較低導致的,應該是從17之後就沒有stderr,應當在configure的時候指定一下:cppflags="-d__android_api__=19"。
交叉編譯 Go 交叉編譯 跨平台編譯
golang 支援交叉編譯,在乙個平台上生成另乙個平台的可執行程式 cgo enabled 0 goos linux goarch amd64 go build main.go cgo enabled 0 goos windows goarch amd64 go build main.go cgo ...
golang跨平台編譯
golang中跨平台交叉編譯涉及兩個重要的環境變數 goos和goarch,分別代表target host os和target host arch,如果沒有顯式設定這些環境變數,我們通過go env可以看到go編譯器眼中這兩個環境變數的當前值 go env goarch amd64 gobin ho...
Golang 跨平台編譯
1 首先進入go src 原始碼所在目錄,執行如下命令建立目標平台所需的包和工具檔案。cd usr loc al g o sr c cgo enabled 0 goos linux goarch amd64 make.bash 如果是 windows 則修改 goos 即可。cgo enabled ...