Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Squid交叉编译_C++_Linux_Gcc_Cross Compiling_Squid - Fatal编程技术网

C++ Squid交叉编译

C++ Squid交叉编译,c++,linux,gcc,cross-compiling,squid,C++,Linux,Gcc,Cross Compiling,Squid,我一直在尝试在ARM Cortex A8(Linux)上交叉编译Squid 3.5.7 我是从下载的 我有armlinux-gnueabi-gcc和arm-linux-gnueabi-g++ tar -zxvf squid-3.5.7.tar.gz cd squid-3.5.7 ./configure --prefix=/usr/local/squid make all make install 接下来,我将文件夹/usr/local/squid和~/squid-3.5.7复制到SD卡。 当我

我一直在尝试在ARM Cortex A8(Linux)上交叉编译Squid 3.5.7
我是从
下载的 我有armlinux-gnueabi-gcc和arm-linux-gnueabi-g++

tar -zxvf squid-3.5.7.tar.gz
cd squid-3.5.7
./configure --prefix=/usr/local/squid
make all
make install
接下来,我将文件夹/usr/local/squid和~/squid-3.5.7复制到SD卡。 当我尝试用ARM打开SD卡上的/squid-z时,我遇到了问题:

root@am335x:/# ls
bin       etc       lib       mnt       srv       usr
boot      findHelp  linuxrc   proc      sys       var
dev       home      media     sbin      tmp
root@am335x:/media/mmcblk0/squid/sbin# ls
squid
root@am335x:/media/mmcblk0/squid/sbin# ./squid -z
./squid: line 20: syntax error: ")" unexpected
root@am335x:/media/mmcblk0/squid/sbin# ./squid
./squid: line 20: syntax error: ")" unexpected
root@am335x:/media/mmcblk0/squid/sbin#

我不知道该怎么办:/

您构建的二进制文件是为您的PC架构而构建的。要为arm构建squid,请遵循以下说明

配置正在尝试运行一个测试,如果使用交叉编译器,该测试将失败,因此请添加一个缓存文件以覆盖这些测试

例如,使用下面显示的行创建一个缓存文件squid.cache

squid_cv_gnu_atomics=no
./configure --host=arm-linux-gnueabi --cache-file=squid.cache --prefix=<install/dir>
导出编译squid所需的BUILDCXX变量

export BUILDCXX=g++
确保已将工具链路径导出到路径变量($path)

然后使用makeinstall安装二进制文件

make install 

我认为您应该告诉配置,它必须使用arm linux gnueabi gcc,否则它将使用默认gcc。@Marco怎么做?只是为了确定,您是在arm cortex A8板上编译还是在标准PC上编译?我在哪里可以看到它?我想我没有很好地解释:你说你正在运行configure。。制作您在PC或arm cortex板上的什么位置运行configure and make?您能告诉我怎么做吗?我已经提到了上述所有步骤。在哪一步中,首先转到squid源目录,然后使用您喜欢的任何编辑器创建一个文件squid.cache,然后在该文件(squid.cache)中添加行squid\u cv\u gnu\u atomics=no,使用命令export BUILDCXX=g导出变量BUILDCXX++
make
make install