对"elast_opt()"的未定义引用 collect2:ld 返回 1 个退出状态
undefined reference to `elast_opt()' collect2: ld returned 1 exit status
我已经编写了一些使用dealii库的oop代码。
类elastic
在prelim头中定义为:
using namespace dealii;
template <int dim>
class elastic
{
public:
elastic(const Triangulation<dim> *triang);
~elastic() ;
void run() ;
private:
.
.
.
并且在包括报头的另一报头中:
template <int dim>
elastic<dim>::elastic(const Triangulation<dim> *triang): dof_handler (triangulation), fe (FE_Q<dim>(1))
{triangulation.copy_triangulation (*triang);}
我的主要内容如下:
#include "prelim.h"
using namespace dealii;
int main()
{
deallog.depth_console (0);
elastic<2> *elast_opt();
for ( iter=0; iter<5 ; ++iter)
elast_opt()->run();
return 0;
}
当我编译时,我会得到以下错误:
....../main.cc:16: undefined reference to `elast_opt()'
collect2: ld returned 1 exit status
make: *** [main] Error 1
感谢hmjd的回复。它的工作原理就像我在preim和setup头中删除一些部分一样:在preim标头中:
public: elastic(/*const Triangulation<dim> *triang*/);
~elastic() ;
void run() ; in setup header :
elastic<dim>::elastic(/*const Triangulation<dim> *triang*/): dof_handler (triangulation),
fe (FE_Q<dim>(1))
{/*triangulation.copy_triangulation (*triang);*/}
但这些部分不能删除,实际上我想知道这些部分是怎么回事。
我的道歉,我忘了提一下,在没有删除之前的部分的情况下,建议了一些修改,错误改为:
==============debug========= main.cc -> main.g.o main.g.o
main.cc: In function ‘int main()’:
main.cc:11:43: error: no matching function for call to ‘elastic<2>::elastic()’
main.cc:11:43: note: candidates are:
setup.h:12:3: note: elastic<dim>::elastic(const dealii::Triangulation<dim>*) [with int dim = 2]
setup.h:12:3: note: candidate expects 1 argument, 0 provided
prelim.h:38:7: note: elastic<2>::elastic(const elastic<2>&)
prelim.h:38:7: note: candidate expects 1 argument, 0 provided
make: *** [main.g.o] Error 1
s
相关文章:
- C++ 中的编译错误:未定义对"主"的引用 collect2:错误:ld 返回 1 个退出状态
- 编译问题:在函数"_start"中:未定义对"主"的引用 collect2:错误:ld 返回 1 个退出状态
- 试图在崇高中奔跑. 错误 已发生: 收集2.exe: 错误: ld 返回 1 退出状态
- collect2:错误:ld 返回 1 个退出状态未定义的引用
- C++ collect2:错误:ld 返回 1 退出状态
- 找不到 -llibmysqld Collect2.exe:错误:ld 返回 1 退出状态
- 每次我要使用外部资源时,我都会得到:collect2。exe:错误 ld 返回 1 退出状态
- c++ (C::B) 错误:ld 返回 1 个退出状态
- 对"displayForStudent(int, int const*, double const*, int)"的未定义引用 collect2.exe:错误:ld 返回 1 个退出状态
- 使用类[错误] LD返回1退出状态
- 错误:LD返回1个退出状态-CodeBlocks
- mingw32/bin/ld.exe:找不到 -lfl collect2.exe:错误:ld 返回 1 个退出状态
- 当我使用该功能时,"错误 ld 返回 1 个退出状态"boost::log::add_file_log()"
- collect2:错误:ld 在制作带有代码块的 .so 文件(64 位版本)时返回 1 个退出状态
- 生成文件gtkmm;collect2.exe:错误:ld返回1退出状态
- C++:"错误收集 2:错误:ld 返回 1 退出状态"
- C++ 链接器错误未定义对"Suma(int, int)"的引用 ld 返回 1 个退出状态
- Collect2:错误:LD在C 中返回1个退出状态
- 无法导出mexfunction:符号未定义的collect.exe2.exe:错误:ld返回1退出状态
- 链接错误:收集 2:错误:ld 返回 1 个退出状态