2016-11-13 10 views
1

最近カメラでスクリプトを作成し始めました。私はCで簡単なhello worldプログラムを作ってコンパイルし、それも私のカメラに送りました。カメラのLinuxシステムでは、 './abcd'でコンパイルされたCプログラムを実行できず、代わりに/ bin/shスクリプトとして認識されます

カメラのシステムは非常に裸のLinux版です。 unameを実行すると私にLinuxが与えられ、uname -rは私に2.6.35を与えます。 Bashはこのシステムにはインストールされていません。

私は任意のCの実行可能ファイルを実行すると、それはそれは私にエラーを与えて、スクリプトであると考えている: ./helloworld: line 1: syntax error: unexpected "("

すべてのヘルプは、おかげでいただければ幸いです。

+0

カメラとは何ですか?また、どのプロセッサに搭載されていますか? x86 CPUでない場合は、正しいCPU /アーキテクチャフラグをクロスコンパイル/設定しましたか?どのようにソフトウェアを起動しますか? 'file helloworld'とは何ですか? – dseifert

+0

@disifertカメラはAxis Communications Q7404ビデオエンコーダを介して動作します。非常にベアボーンであるので、 'file'コマンドは存在しません。 – SlickJava

+0

@dseifertプロセッサーが何であるかCPUが何であるか分かりません。私がやったことは、editcgiを使ってカメラでsshを有効にすることだけでした。 – SlickJava

答えて

1

あなたは、gcc -o helloworld helloworld.cのようなものを使って64ビットデスクトップPCであなたのhello worldプログラムをコンパイルしたと仮定します。

結果のバイナリはAMD64アーキテクチャ(インテル64ビットと考える)用で、他のプロセッサタイプでは実行されません。私。 CRISv32アーキテクチャの32ビットARTPEC-3プロセッサを使用するターゲットシステム(=あなたのカメラ)と互換性がありません。

これは、カメラのCPU用にプログラムをクロスコンパイルする必要があることを意味します。例: http://developer.axis.com/wiki/doku.php%3Fid=axis:compiling_for_cris_howto.htmlあなたのカメラであなたの最初のプログラムを実行するための非常に良いチュートリアルのように見えます。

+0

ありがとう!私が明日起きたときにこれを試してみます – SlickJava

+0

うん、SDKに含まれていたgcc-crisのインストールを見つけたとき、彼らは中止されたことを示しました。まったく言い訳がない。私は、SDKの古いアーカイブを深く掘り下げなければならないかもしれません。 http://www.axis.com/nz/en/support/downloads/software-development-kit – SlickJava

+0

Nevermind! gccでどのようなアーキテクチャをコンパイルしているのかを追加する議論がありました。ありがとう。 – SlickJava

関連する問題