新しいアプリケーションをオーバーロードし、削除するアプリケーションを含むVxWorks7イメージプロジェクト(VIP)を作成しようとしています。私は、ダウンロード可能なカーネルモジュール(DKM)としてVIPとアプリケーションを別々にビルドすると、ターゲット上のVIPを起動し、Workbench4でApp DKMを個別にダウンロードすることで、うまく構築されて実行されます。しかし、私は、私は複数の新規のためのエラーを定義し、以下のように、ビルド時にワークベンチから演算子を削除し得る単一のブート可能なVIPとして一緒にVIPとDKMを構築しようとした場合:Gnuコンパイラを使用してVxWorks 7の新規/削除演算子をオーバーロードする方法
C:/BW/Vehicle/builds/cx20X0Up32BitDebugVsb/krnl/gnu_standard\libgnucplus.a(_x_gnu_delaop.o): In function `operator delete[](void*)':
(.text+0x0): multiple definition of `operator delete[](void*)'
C:/BW/Vehicle/builds/Vehicle/cx20X0Up32BitDebugVsb_SANDYBRIDGEgnu/Vehicle_partialImage/Debug/Vehicle_partialImage.o:C:/BW/Alcatraz/Vehicle/src/IRL/Util/heap.cpp:886: first defined here
C:/BW/Vehicle/builds/cx20X0Up32BitDebugVsb/krnl/gnu_standard\libgnucplus.a(_x_gnu_delop.o): In function `operator delete(void*)':
(.text+0x0): multiple definition of `operator delete(void*)'
C:/BW/Vehicle/builds/Vehicle/cx20X0Up32BitDebugVsb_SANDYBRIDGEgnu/Vehicle_partialImage/Debug/Vehicle_partialImage.o:C:/BW/Alcatraz/Vehicle/src/IRL/Util/heap.cpp:841: first defined here
C:/BW/Vehicle/builds/cx20X0Up32BitDebugVsb/krnl/gnu_standard\libgnucplus.a(_x_gnu_newaop.o): In function `operator new[](unsigned int)':
(.text+0x0): multiple definition of `operator new[](unsigned int)'
C:/BW/Vehicle/builds/Vehicle/cx20X0Up32BitDebugVsb_SANDYBRIDGEgnu/Vehicle_partialImage/Debug/Vehicle_partialImage.o:C:/BW/Alcatraz/Vehicle/src/IRL/Util/heap.cpp:813: first defined here
C:/BW/Vehicle/builds/cx20X0Up32BitDebugVsb/krnl/gnu_standard\libgnucplus.a(_x_gnu_newop.o): In function `operator new(unsigned int)':
(.text+0x0): multiple definition of `operator new(unsigned int)'
C:/BW/Alcatraz/Vehicle/builds/Vehicle/cx20X0Up32BitDebugVsb_SANDYBRIDGEgnu/Vehicle_partialImage/Debug/Vehicle_partialImage.o:C:/BW/Alcatraz/Vehicle/src/IRL/Util/heap.cpp:808: first defined here
collect2.exe: error: ld returned 1 exit status
WinDriverのサポートを行うためにソリューションを提供新しい演算子と削除演算子がオーバーロードされるソースファイルの次の宣言。これは、新しい/ del演算子のライブラリ版を省略するようにコンパイラ/リンカに通知することになっています。この私はまだ、上記と同じ乗算定義されたエラーを取得し、WinDriverのサポートは任意の実行可能な提案を受けていないを行う
int ___x_gnu_newaop_o = 1;
int ___x_gnu_newop_o = 1;
int ___x_gnu_delaop_o = 1 ;
int ___x_gnu_delop_o = 1;
。誰もがGnuコンパイラを使ってVxWorks7でglobal :: newと:: deleteをオーバーロードしようとした経験がありましたか?
ここはWindRiver Support 66370の問題へのリンクです。パブリックアクセスが可能かどうかは不明です。