鱼C论坛

 找回密码
 立即注册
查看: 1941|回复: 5

[已解决]小甲鱼c++快速入门 第四讲,复制文件的代码,我的总是出现报错

[复制链接]
发表于 2019-7-1 15:42:41 | 显示全部楼层 |阅读模式
20鱼币
这是源代码,后面的是报错,我又去实验了了一下其他鱼油的代码,好是一样的报错,
请问这是什么原因,是用mac的终端编译的

后面的是报错


  1. Undefined symbols for architecture x86_64:
  2.   "std::__1::locale::has_facet(std::__1::locale::id&) const", referenced from:
  3.       bool std::__1::has_facet<std::__1::codecvt<char, char, __mbstate_t> >(std::__1::locale const&) in fileCopy-aa2d08.o
  4.   "std::__1::locale::use_facet(std::__1::locale::id&) const", referenced from:
  5.       std::__1::codecvt<char, char, __mbstate_t> const& std::__1::use_facet<std::__1::codecvt<char, char, __mbstate_t> >(std::__1::locale const&) in fileCopy-aa2d08.o
  6.       std::__1::ctype<char> const& std::__1::use_facet<std::__1::ctype<char> >(std::__1::locale const&) in fileCopy-aa2d08.o
  7.   "std::__1::ios_base::getloc() const", referenced from:
  8.       std::__1::basic_ios<char, std::__1::char_traits<char> >::widen(char) const in fileCopy-aa2d08.o
  9.   "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__init(unsigned long, char)", referenced from:
  10.       std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_string(unsigned long, char) in fileCopy-aa2d08.o
  11.   "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()", referenced from:
  12.       std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > std::__1::__pad_and_output<char, std::__1::char_traits<char> >(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >, char const*, char const*, char const*, std::__1::ios_base&, char) in fileCopy-aa2d08.o
  13.   "std::__1::basic_istream<char, std::__1::char_traits<char> >::read(char*, long)", referenced from:
  14.       _main in fileCopy-aa2d08.o
  15.   "std::__1::basic_istream<char, std::__1::char_traits<char> >::~basic_istream()", referenced from:
  16.       construction vtable for std::__1::basic_istream<char, std::__1::char_traits<char> >-in-std::__1::basic_ifstream<char, std::__1::char_traits<char> > in fileCopy-aa2d08.o
  17.   "std::__1::basic_istream<char, std::__1::char_traits<char> >::~basic_istream()", referenced from:
  18.       construction vtable for std::__1::basic_istream<char, std::__1::char_traits<char> >-in-std::__1::basic_ifstream<char, std::__1::char_traits<char> > in fileCopy-aa2d08.o
  19.   "std::__1::basic_istream<char, std::__1::char_traits<char> >::~basic_istream()", referenced from:
  20.       std::__1::basic_ifstream<char, std::__1::char_traits<char> >::basic_ifstream(char const*, unsigned int) in fileCopy-aa2d08.o
  21.       std::__1::basic_ifstream<char, std::__1::char_traits<char> >::~basic_ifstream() in fileCopy-aa2d08.o
  22.   "std::__1::basic_ostream<char, std::__1::char_traits<char> >::put(char)", referenced from:
  23.       std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::endl<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&) in fileCopy-aa2d08.o
  24.   "std::__1::basic_ostream<char, std::__1::char_traits<char> >::flush()", referenced from:
  25.       std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::endl<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&) in fileCopy-aa2d08.o
  26.   "std::__1::basic_ostream<char, std::__1::char_traits<char> >::write(char const*, long)", referenced from:
  27.       _main in fileCopy-aa2d08.o
  28.   "std::__1::basic_ostream<char, std::__1::char_traits<char> >::sentry::sentry(std::__1::basic_ostream<char, std::__1::char_traits<char> >&)", referenced from:
  29.       std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in fileCopy-aa2d08.o
  30.   "std::__1::basic_ostream<char, std::__1::char_traits<char> >::sentry::~sentry()", referenced from:
  31.       std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in fileCopy-aa2d08.o
  32.   "std::__1::basic_ostream<char, std::__1::char_traits<char> >::~basic_ostream()", referenced from:
  33.       construction vtable for std::__1::basic_ostream<char, std::__1::char_traits<char> >-in-std::__1::basic_ofstream<char, std::__1::char_traits<char> > in fileCopy-aa2d08.o
  34.   "std::__1::basic_ostream<char, std::__1::char_traits<char> >::~basic_ostream()", referenced from:
  35.       construction vtable for std::__1::basic_ostream<char, std::__1::char_traits<char> >-in-std::__1::basic_ofstream<char, std::__1::char_traits<char> > in fileCopy-aa2d08.o
  36.   "std::__1::basic_ostream<char, std::__1::char_traits<char> >::~basic_ostream()", referenced from:
  37.       std::__1::basic_ofstream<char, std::__1::char_traits<char> >::basic_ofstream(char const*, unsigned int) in fileCopy-aa2d08.o
  38.       std::__1::basic_ofstream<char, std::__1::char_traits<char> >::~basic_ofstream() in fileCopy-aa2d08.o
  39.   "std::__1::basic_streambuf<char, std::__1::char_traits<char> >::uflow()", referenced from:
  40.       vtable for std::__1::basic_filebuf<char, std::__1::char_traits<char> > in fileCopy-aa2d08.o
  41.   "std::__1::basic_streambuf<char, std::__1::char_traits<char> >::xsgetn(char*, long)", referenced from:
  42.       vtable for std::__1::basic_filebuf<char, std::__1::char_traits<char> > in fileCopy-aa2d08.o
  43.   "std::__1::basic_streambuf<char, std::__1::char_traits<char> >::xsputn(char const*, long)", referenced from:
  44.       vtable for std::__1::basic_filebuf<char, std::__1::char_traits<char> > in fileCopy-aa2d08.o
  45.   "std::__1::basic_streambuf<char, std::__1::char_traits<char> >::showmanyc()", referenced from:
  46.       vtable for std::__1::basic_filebuf<char, std::__1::char_traits<char> > in fileCopy-aa2d08.o
  47.   "std::__1::basic_streambuf<char, std::__1::char_traits<char> >::basic_streambuf()", referenced from:
  48.       std::__1::basic_filebuf<char, std::__1::char_traits<char> >::basic_filebuf() in fileCopy-aa2d08.o
  49.   "std::__1::basic_streambuf<char, std::__1::char_traits<char> >::~basic_streambuf()", referenced from:
  50.       std::__1::basic_filebuf<char, std::__1::char_traits<char> >::~basic_filebuf() in fileCopy-aa2d08.o
  51.       std::__1::basic_filebuf<char, std::__1::char_traits<char> >::basic_filebuf() in fileCopy-aa2d08.o
  52.   "std::__1::cout", referenced from:
  53.       _main in fileCopy-aa2d08.o
  54.   "std::__1::ctype<char>::id", referenced from:
  55.       std::__1::ctype<char> const& std::__1::use_facet<std::__1::ctype<char> >(std::__1::locale const&) in fileCopy-aa2d08.o
  56.   "std::__1::locale::locale(std::__1::locale const&)", referenced from:
  57.       std::__1::basic_streambuf<char, std::__1::char_traits<char> >::getloc() const in fileCopy-aa2d08.o
  58.   "std::__1::locale::~locale()", referenced from:
  59.       std::__1::basic_ios<char, std::__1::char_traits<char> >::widen(char) const in fileCopy-aa2d08.o
  60.       std::__1::basic_filebuf<char, std::__1::char_traits<char> >::basic_filebuf() in fileCopy-aa2d08.o
  61.   "std::__1::codecvt<char, char, __mbstate_t>::id", referenced from:
  62.       std::__1::codecvt<char, char, __mbstate_t> const& std::__1::use_facet<std::__1::codecvt<char, char, __mbstate_t> >(std::__1::locale const&) in fileCopy-aa2d08.o
  63.       bool std::__1::has_facet<std::__1::codecvt<char, char, __mbstate_t> >(std::__1::locale const&) in fileCopy-aa2d08.o
  64.   "std::__1::ios_base::__set_badbit_and_consider_rethrow()", referenced from:
  65.       std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in fileCopy-aa2d08.o
  66.   "std::__1::ios_base::init(void*)", referenced from:
  67.       std::__1::basic_ios<char, std::__1::char_traits<char> >::init(std::__1::basic_streambuf<char, std::__1::char_traits<char> >*) in fileCopy-aa2d08.o
  68.   "std::__1::ios_base::clear(unsigned int)", referenced from:
  69.       std::__1::ios_base::setstate(unsigned int) in fileCopy-aa2d08.o
  70.   "std::__1::basic_ios<char, std::__1::char_traits<char> >::~basic_ios()", referenced from:
  71.       std::__1::basic_ifstream<char, std::__1::char_traits<char> >::basic_ifstream(char const*, unsigned int) in fileCopy-aa2d08.o
  72.       std::__1::basic_ofstream<char, std::__1::char_traits<char> >::basic_ofstream(char const*, unsigned int) in fileCopy-aa2d08.o
  73.       std::__1::basic_ofstream<char, std::__1::char_traits<char> >::~basic_ofstream() in fileCopy-aa2d08.o
  74.       std::__1::basic_ifstream<char, std::__1::char_traits<char> >::~basic_ifstream() in fileCopy-aa2d08.o
  75.   "std::bad_cast::bad_cast()", referenced from:
  76.       std::__1::__throw_bad_cast() in fileCopy-aa2d08.o
  77.   "std::bad_cast::~bad_cast()", referenced from:
  78.       std::__1::__throw_bad_cast() in fileCopy-aa2d08.o
  79.   "std::terminate()", referenced from:
  80.       ___clang_call_terminate in fileCopy-aa2d08.o
  81.   "typeinfo for std::__1::basic_istream<char, std::__1::char_traits<char> >", referenced from:
  82.       construction vtable for std::__1::basic_istream<char, std::__1::char_traits<char> >-in-std::__1::basic_ifstream<char, std::__1::char_traits<char> > in fileCopy-aa2d08.o
  83.       typeinfo for std::__1::basic_ifstream<char, std::__1::char_traits<char> > in fileCopy-aa2d08.o
  84.   "typeinfo for std::__1::basic_ostream<char, std::__1::char_traits<char> >", referenced from:
  85.       construction vtable for std::__1::basic_ostream<char, std::__1::char_traits<char> >-in-std::__1::basic_ofstream<char, std::__1::char_traits<char> > in fileCopy-aa2d08.o
  86.       typeinfo for std::__1::basic_ofstream<char, std::__1::char_traits<char> > in fileCopy-aa2d08.o
  87.   "typeinfo for std::__1::basic_streambuf<char, std::__1::char_traits<char> >", referenced from:
  88.       typeinfo for std::__1::basic_filebuf<char, std::__1::char_traits<char> > in fileCopy-aa2d08.o
  89.   "typeinfo for std::bad_cast", referenced from:
  90.       std::__1::__throw_bad_cast() in fileCopy-aa2d08.o
  91.   "vtable for __cxxabiv1::__si_class_type_info", referenced from:
  92.       typeinfo for std::__1::basic_ofstream<char, std::__1::char_traits<char> > in fileCopy-aa2d08.o
  93.       typeinfo for std::__1::basic_filebuf<char, std::__1::char_traits<char> > in fileCopy-aa2d08.o
  94.       typeinfo for std::__1::basic_ifstream<char, std::__1::char_traits<char> > in fileCopy-aa2d08.o
  95.   NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  96.   "vtable for std::__1::ios_base", referenced from:
  97.       std::__1::ios_base::ios_base() in fileCopy-aa2d08.o
  98.   NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  99.   "vtable for std::__1::basic_ios<char, std::__1::char_traits<char> >", referenced from:
  100.       std::__1::basic_ios<char, std::__1::char_traits<char> >::basic_ios() in fileCopy-aa2d08.o
  101.   NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  102.   "virtual thunk to std::__1::basic_istream<char, std::__1::char_traits<char> >::~basic_istream()", referenced from:
  103.       construction vtable for std::__1::basic_istream<char, std::__1::char_traits<char> >-in-std::__1::basic_ifstream<char, std::__1::char_traits<char> > in fileCopy-aa2d08.o
  104.   "virtual thunk to std::__1::basic_istream<char, std::__1::char_traits<char> >::~basic_istream()", referenced from:
  105.       construction vtable for std::__1::basic_istream<char, std::__1::char_traits<char> >-in-std::__1::basic_ifstream<char, std::__1::char_traits<char> > in fileCopy-aa2d08.o
  106.   "virtual thunk to std::__1::basic_ostream<char, std::__1::char_traits<char> >::~basic_ostream()", referenced from:
  107.       construction vtable for std::__1::basic_ostream<char, std::__1::char_traits<char> >-in-std::__1::basic_ofstream<char, std::__1::char_traits<char> > in fileCopy-aa2d08.o
  108.   "virtual thunk to std::__1::basic_ostream<char, std::__1::char_traits<char> >::~basic_ostream()", referenced from:
  109.       construction vtable for std::__1::basic_ostream<char, std::__1::char_traits<char> >-in-std::__1::basic_ofstream<char, std::__1::char_traits<char> > in fileCopy-aa2d08.o
  110.   "operator delete[](void*)", referenced from:
  111.       std::__1::basic_filebuf<char, std::__1::char_traits<char> >::~basic_filebuf() in fileCopy-aa2d08.o
  112.       std::__1::basic_filebuf<char, std::__1::char_traits<char> >::imbue(std::__1::locale const&) in fileCopy-aa2d08.o
  113.       std::__1::basic_filebuf<char, std::__1::char_traits<char> >::setbuf(char*, long) in fileCopy-aa2d08.o
  114.   "operator delete(void*)", referenced from:
  115.       std::__1::basic_ofstream<char, std::__1::char_traits<char> >::~basic_ofstream() in fileCopy-aa2d08.o
  116.       std::__1::basic_filebuf<char, std::__1::char_traits<char> >::~basic_filebuf() in fileCopy-aa2d08.o
  117.       std::__1::basic_ifstream<char, std::__1::char_traits<char> >::~basic_ifstream() in fileCopy-aa2d08.o
  118.   "operator new[](unsigned long)", referenced from:
  119.       std::__1::basic_filebuf<char, std::__1::char_traits<char> >::imbue(std::__1::locale const&) in fileCopy-aa2d08.o
  120.       std::__1::basic_filebuf<char, std::__1::char_traits<char> >::setbuf(char*, long) in fileCopy-aa2d08.o
  121.   "___cxa_allocate_exception", referenced from:
  122.       std::__1::__throw_bad_cast() in fileCopy-aa2d08.o
  123.   "___cxa_begin_catch", referenced from:
  124.       ___clang_call_terminate in fileCopy-aa2d08.o
  125.       std::__1::basic_filebuf<char, std::__1::char_traits<char> >::~basic_filebuf() in fileCopy-aa2d08.o
  126.       std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in fileCopy-aa2d08.o
  127.   "___cxa_call_unexpected", referenced from:
  128.       std::__1::unique_ptr<__sFILE, int (*)(__sFILE*)>::reset(__sFILE*) in fileCopy-aa2d08.o
  129.       std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >::ostreambuf_iterator(std::__1::basic_ostream<char, std::__1::char_traits<char> >&) in fileCopy-aa2d08.o
  130.       bool std::__1::has_facet<std::__1::codecvt<char, char, __mbstate_t> >(std::__1::locale const&) in fileCopy-aa2d08.o
  131.       std::__1::basic_filebuf<char, std::__1::char_traits<char> >::__make_mdstring(unsigned int) in fileCopy-aa2d08.o
  132.   "___cxa_end_catch", referenced from:
  133.       std::__1::basic_filebuf<char, std::__1::char_traits<char> >::~basic_filebuf() in fileCopy-aa2d08.o
  134.       std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in fileCopy-aa2d08.o
  135.   "___cxa_throw", referenced from:
  136.       std::__1::__throw_bad_cast() in fileCopy-aa2d08.o
  137.   "___gxx_personality_v0", referenced from:
  138.       _main in fileCopy-aa2d08.o
  139.       std::__1::basic_ifstream<char, std::__1::char_traits<char> >::basic_ifstream(char const*, unsigned int) in fileCopy-aa2d08.o
  140.       std::__1::basic_ofstream<char, std::__1::char_traits<char> >::basic_ofstream(char const*, unsigned int) in fileCopy-aa2d08.o
  141.       std::__1::basic_ofstream<char, std::__1::char_traits<char> >::~basic_ofstream() in fileCopy-aa2d08.o
  142.       std::__1::basic_ifstream<char, std::__1::char_traits<char> >::~basic_ifstream() in fileCopy-aa2d08.o
  143.       std::__1::basic_ofstream<char, std::__1::char_traits<char> >::~basic_ofstream() in fileCopy-aa2d08.o
  144.       std::__1::basic_ofstream<char, std::__1::char_traits<char> >::~basic_ofstream() in fileCopy-aa2d08.o
  145.       ...
  146. ld: symbol(s) not found for architecture x86_64
  147. clang: error: linker command failed with exit code 1 (use -v to see invocation)
复制代码
最佳答案
2019-7-1 15:42:42

mac下用什么编译器编译的,我这里编译没有问题啊,是不是你用了编译C的方式来编译c++,
Linux下是要用g++来编译的
屏幕快照 2019-07-01 下午3.35.47.png
屏幕快照 2019-07-01 下午3.36.23.png

最佳答案

查看完整内容

mac下用什么编译器编译的,我这里编译没有问题啊,是不是你用了编译C的方式来编译c++, Linux下是要用g++来编译的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-7-1 15:42:42 | 显示全部楼层    本楼为最佳答案   

mac下用什么编译器编译的,我这里编译没有问题啊,是不是你用了编译C的方式来编译c++,
Linux下是要用g++来编译的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-7-1 15:43:35 | 显示全部楼层
源代码


  1. #include <iostream>
  2. #include <fstream>

  3. using namespace std;

  4. int main(int argc,char *argv[])
  5. {
  6.     //验证输入格式
  7.     if(argc != 3)
  8.     {
  9.         cout << "请按照亲一下格式输出:\n"<<"fileCopy 源文件 目标文件"<<endl;
  10.         exit(EXIT_FAILURE);
  11.     }

  12.     ifstream read(argv[1],ios::binary | ios::in);
  13.     ofstream write(argv[2],ios::binary | ios::out);

  14.     if(read == NULL)
  15.     {
  16.         cout<<"要复制的文件不存在!"<< endl;
  17.         exit (EXIT_FAILURE);
  18.     }

  19.     char i ;

  20.     while(read.read(&i,1))
  21.     {
  22.         write.write(&i,1);
  23.     }

  24.     cout << "文件复制成功!" << endl;

  25.     return 0;

  26. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-7-1 16:08:58 | 显示全部楼层
楼上说的对 应该有
g++ test.cpp -o test 编译
而不是gcc test.cpp -o test
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-7-2 09:14:15 | 显示全部楼层

是的,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-7-2 09:14:50 | 显示全部楼层
方大侠 发表于 2019-7-1 16:08
楼上说的对 应该有
g++ test.cpp -o test 编译
而不是gcc test.cpp -o test

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-19 23:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表