AIX 6.0环境下xlC编译问题

问题描述 投票:0回答:1

我正在编译一组 .C 文件,并尝试使用 xlC 编译器版本 9.0 在 AIX 6.0 上创建目标文件。 它产生以下错误:

1540-1172 (S) More than one function "operator new" has non-C++ linkage.
1540-0424 (I) "operator new" is declared on line 92 of "/usr/vacpp/include/new".

1540-0121 (S) A template cannot have "C" linkage.

1540-0140 (S) The text "<" is unexpected.  "List" may be undeclared, ambiguous, or may require "typename" qualification.

任何形式的指导或帮助将不胜感激。

$ xlC -qversion
C for AIX version 6.0.0.0

编译器 xlC 只是一个 C++ 编译器。 我已经验证 #include 周围没有 extern 'C' 。 如果有人解决过这个问题,请告诉我解决方案。

c aix linkage xlc
1个回答
1
投票

当您尝试重载 extern "C" 内的函数时,会出现该消息

extern "C"{
   struct A{};
   struct B{};
   void test(A arg);
   void test(B arg);
}


“q.cpp”,第 5.9 行:1540-1172 (S) 多个函数“test”具有非 C++ 链接。
“q.cpp”,第 4.9 行:1540-0424 (I) “test”在“q.cpp”的第 4 行声明。

© www.soinside.com 2019 - 2024. All rights reserved.