首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >简单的c ++程序,无法编译[重复]?

简单的c ++程序,无法编译[重复]?
EN

Stack Overflow用户
提问于 2018-10-09 08:19:28
回答 1查看 0关注 0票数 0

这个问题在这里已有答案:

  • 用gcc 7答案 编译C ++程序

我有一个简单的程序来测试STL中的“查找”方法。我想找到并打印数字2的索引。这是代码:

代码语言:javascript
复制
#include<algorithm>
#include<functional>
#include<iostream>
#include<vector>

using namespace std;


int main(int argc, char* argv[]){
        const int size = 8;
        int array[8] = {1,2,3,4,4,5,6,7};
        vector<int> my;
        vector<int>::iterator loc;
        loc = find(my.begin(), my.end(), 2);
        cout<<(loc - my.begin())<<endl;
        return 0;
}

我在终端编译使用:

代码语言:javascript
复制
gcc main.cpp -o main

这是错误:

代码语言:javascript
复制
Undefined symbols for architecture x86_64:
  "std::__1::locale::use_facet(std::__1::locale::id&) const", referenced from:
      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 main-1d0c2e.o
  "std::__1::ios_base::getloc() const", referenced from:
      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 main-1d0c2e.o
  "std::__1::basic_ostream<char, std::__1::char_traits<char> >::put(char)", referenced from:
      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 main-1d0c2e.o
  "std::__1::basic_ostream<char, std::__1::char_traits<char> >::flush()", referenced from:
      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 main-1d0c2e.o
  "std::__1::basic_ostream<char, std::__1::char_traits<char> >::operator<<(long)", referenced from:
      _main in main-1d0c2e.o
  "std::__1::cout", referenced from:
      _main in main-1d0c2e.o
  "std::__1::ctype<char>::id", referenced from:
      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 main-1d0c2e.o
  "std::__1::locale::~locale()", referenced from:
      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 main-1d0c2e.o
  "std::terminate()", referenced from:
      ___clang_call_terminate in main-1d0c2e.o
  "operator delete(void*)", referenced from:
      std::__1::__vector_base<int, std::__1::allocator<int> >::~__vector_base() in main-1d0c2e.o
  "___cxa_begin_catch", referenced from:
      ___clang_call_terminate in main-1d0c2e.o
  "___gxx_personality_v0", referenced from:
      _main in main-1d0c2e.o
      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 main-1d0c2e.o
      Dwarf Exception Unwind Info (__eh_frame) in main-1d0c2e.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

那有什么不对?谢谢!

EN

回答 1

Stack Overflow用户

发布于 2018-10-09 18:15:23

使用g++C ++的

您也没有将值分配给矢量

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100002864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档