C++可执行文件不能在基于Linux的托管服务器上工作

C++可执行文件不能在基于Linux的托管服务器上工作,c++,c,linux,apache,centos,C++,C,Linux,Apache,Centos,我用CentOS 64位为CGI应用程序创建了一个静态可执行文件。该程序正在使用cgicc库。然后,我在创建可执行文件的同一台机器上以及在另一台不存在cgicc lib的CentOS 64位机器上执行该可执行文件。在这两台机器上,它都成功地执行了。但我有一个网络托管服务器在那里,相同的可执行文件不工作。web托管服务器是Linux64位机器,但不确定到底是什么linux风格。在日志中,我发现了内部服务器错误。即使我检查了可执行文件是否有755权限。有人能帮忙找出原因吗?提前谢谢。我的第一个想法是

我用CentOS 64位为CGI应用程序创建了一个静态可执行文件。该程序正在使用cgicc库。然后,我在创建可执行文件的同一台机器上以及在另一台不存在cgicc lib的CentOS 64位机器上执行该可执行文件。在这两台机器上,它都成功地执行了。但我有一个网络托管服务器在那里,相同的可执行文件不工作。web托管服务器是Linux64位机器,但不确定到底是什么linux风格。在日志中,我发现了内部服务器错误。即使我检查了可执行文件是否有755权限。有人能帮忙找出原因吗?提前谢谢。

我的第一个想法是,也许您的主机服务器有不同类型的CPU。不同的CPU具有不同的指令集,因此不同的C++编译器可以用于二进制文件。比如,如果你想用ARMs在嵌入式系统上运行一些程序,您需要一个交叉编译器。

您是否有任何控制台输出的错误等?可能是因为创建的二进制文件在CentOS上,而托管服务器正在运行。基于deb的机器,如Debian或Ubuntu?@vips我建议您重新编译代码并重试,重新编译应该很容易,因为我认为Ubuntu和CentOS之间没有太大的区别。