如何在我自己的staticLib中使用staticLib
How to use staticLib in my own staticLib?
我尝试创建自己的库,以便在C/C++中的其他项目中使用它。我的静态库使用xercesc库。Eclipse尝试使用gcc而不是g++编译包含xercesc的lib。如果我试图编译我的代码,我得到了以下错误:
Info: Internal Builder is used for build
g++ "-IC:\00_Projects\Ladeplanberechnung\LadeplanLib\lib\include" -O0 -g3 -Wall -c -fmessage-length=0 -o "src\viterbi\ViterbiAlgorithm.o" "..\src\viterbi\ViterbiAlgorithm.cpp"
In file included from ..srcviterbiLocalSuitability.h:11:0,
from ..srcviterbiViterbiAlgorithm.h:8,
from ..srcviterbiViterbiAlgorithm.cpp:8:
gcc "-IC:\00_Projects\Ladeplanberechnung\LadeplanLib\lib\include" -O0 -g3 -Wall -c -fmessage-length=0 -o "lib\include\xercesc\util\RefArrayVectorOf.o" "..\lib\include\xercesc\util\RefArrayVectorOf.c"
..libincludexercescutilRefArrayVectorOf.c:25:1: error: unknown type name 'XERCES_CPP_NAMESPACE_BEGIN'
XERCES_CPP_NAMESPACE_BEGIN
^~~~~~~~~~~~~~~~~~~~~~~~~~
..libincludexercescutilRefArrayVectorOf.c:30:10: error: expected '=', ',', ';', 'asm' or '__attribute__' before '<' token
template <class TElem>
^
..libincludexercescutilRefArrayVectorOf.c:39:10: error: expected '=', ',', ';', 'asm' or '__attribute__' before '<' token
template <class TElem> RefArrayVectorOf<TElem>::~RefArrayVectorOf()
^
..libincludexercescutilRefArrayVectorOf.c:49:10: error: expected '=', ',', ';', 'asm' or '__attribute__' before '<' token
template <class TElem> void
^
..libincludexercescutilRefArrayVectorOf.c:61:10: error: expected '=', ',', ';', 'asm' or '__attribute__' before '<' token
template <class TElem> void RefArrayVectorOf<TElem>::removeAllElements()
^
..libincludexercescutilRefArrayVectorOf.c:74:10: error: expected '=', ',', ';', 'asm' or '__attribute__' before '<' token
template <class TElem> void RefArrayVectorOf<TElem>::
^
..libincludexercescutilRefArrayVectorOf.c:102:10: error: expected '=', ',', ';', 'asm' or '__attribute__' before '<' token
template <class TElem> void RefArrayVectorOf<TElem>::removeLastElement()
^
..libincludexercescutilRefArrayVectorOf.c:112:10: error: expected '=', ',', ';', 'asm' or '__attribute__' before '<' token
template <class TElem> void RefArrayVectorOf<TElem>::cleanup()
^
..libincludexercescutilRefArrayVectorOf.c:122:1: error: expected '=', ',', ';', 'asm' or '__attribute__' at end of input
XERCES_CPP_NAMESPACE_END
^~~~~~~~~~~~~~~~~~~~~~~~
eclipse为什么要编译xercesc?我可以强迫eclipse用g++编译这个项目吗。
您需要明确地告诉gcc您的源代码是C++
,因为它将假设以.c
结尾的文件是用C
编写的。将-x c++
添加到命令中,它应该可以工作:
gcc "-IC:\00_Projects\Ladeplanberechnung\LadeplanLib\lib\include" -O0 -g3 -Wall -c -fmessage-length=0 -x c++ -o "lib\include\xercesc\util\RefArrayVectorOf.o" "..\lib\include\xercesc\util\RefArrayVectorOf.c"
相关文章:
- 没有为自己的结构调用列表推回方法
- 在他自己的方法中,有可能将一个对象取消引用到另一个对象吗
- 在c++中为我自己的基于指针的数组分配内存的正确方法
- C++从对象自己的类中删除对象
- 使用 std::optional,而不是自己的结构
- 子轴围绕父轴而不是他自己的轴旋转
- 这个C++编译器优化(在自身的实例上调用对象自己的构造函数)的名称是什么,它是如何工作的?
- C++ 如何为自己的迭代器类从迭代器转换为const_iterator?
- 重载 + 自己的类和 std::string 的运算符
- 类无法访问自己的私有静态 constexpr 方法 - Clang bug?
- 是否可以在不填充自己的参数的情况下将模板函数作为参数传递?
- 如何访问模板参数自己的模板参数?
- 将矩阵乘以我自己的输入的向量
- 您应该在什么时候创建自己的异常类型
- 派生类是从基类继承 v 指针并仅使用它,还是也有自己的 v 指针?
- string1 == string2 和你自己的 for 循环比较有什么区别?
- 如何正确包含我自己的标头?
- 自己的自定义向量类. 内存重新分配
- 如何使用我构建的库,而不会从源代码出错,但不为我自己的项目编译?
- 如何在我自己的staticLib中使用staticLib