相关疑难解决方法(0)

g ++ ld:找不到架构x86_64的符号

我正在尝试编译Sam Hare的Struck代码.

我使用的是mac OSX10.9,opencv 2.4.6和Eigen 2.0.17.

Eigen和opencv头存储在/ opt/local/include中,而opencv dylib存储在/ opt/local/lib中.

我修改了Hare的Makefile来处理这个文件夹.当我在终端上输入make时:

g++ -L/opt/local/lib -lopencv_core -lopencv_highgui -lopencv_imgproc src/Config.o src/Features.o src/HaarFeature.o src/HaarFeatures.o src/HistogramFeatures.o src/ImageRep.o src/LaRank.o src/MultiFeatures.o src/RawFeatures.o src/Sampler.o src/Tracker.o src/main.o src/GraphUtils/GraphUtils.o -o struck
Run Code Online (Sandbox Code Playgroud)

我收到这些错误:

Undefined symbols for architecture x86_64:  
"cv::namedWindow(std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const&,
int)", referenced from:
      _main in main.o   "cv::split(cv::Mat const&, std::__1::vector<cv::Mat, std::__1::allocator<cv::Mat> >&)",
referenced from:
      ImageRep::ImageRep(cv::Mat const&, bool, bool, bool) in ImageRep.o   "cv::imread(std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const&,
int)", referenced from:
      _main in main.o   "cv::imshow(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, …
Run Code Online (Sandbox Code Playgroud)

c++ gcc opencv

35
推荐指数
2
解决办法
11万
查看次数

升级到Mac OS X 10.9/Xcode 5.0.1后,C++链接错误

升级到Mac OS X 10.9/Xcode 5.0.1后,创建共享库(.dylib)的命令行失败,出现了几个未定义的符号.

clang++ -dynamiclib -install_name test.dylib *.o -o test.dylib
Undefined symbols for architecture x86_64:
  "std::allocator<char>::allocator()", referenced from:
      _main in test.o
  "std::allocator<char>::~allocator()", referenced from:
      _main in test.o
  "std::ostream::operator<<(std::ostream& (*)(std::ostream&))", referenced from:
      _main in test.o
  "std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)", referenced from:
      _main in test.o
  "std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()", referenced from:
      _main in test.o
  "std::ios_base::Init::Init()", referenced from:
      ___cxx_global_var_init in test.o
  "std::ios_base::Init::~Init()", referenced from:
      ___cxx_global_var_init in test.o
  "std::cout", referenced from:
      _main in test.o
  "std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> …
Run Code Online (Sandbox Code Playgroud)

c++ linker clang++ osx-mavericks

26
推荐指数
1
解决办法
6万
查看次数

gcc ld:找不到架构x86_64的符号

好吧,所以我正在使用Ocamlyacc制作词法分析器和解析器.我已经完成了我的研究,我认为这与我的makefile有关,而不是为我的编译器选择正确的位版本或类似的东西?我不太了解makefile,这就是我要问的原因.

我在另一台计算机上运行我的程序,它可以毫无问题地工作,所以它必须与我的机器有关.

它是MacBook Pro 64位.我正在使用Xcode 4.2.1.

这是makefile:

SHELL        = /bin/sh

C_C          = gcc 
CPP_C        = g++ 
ifdef GPROF
C_CPP_FLAGS = -pg -O3
else
ifndef DEBUG
C_CPP_FLAGS  = -O3
else
C_CPP_FLAGS  = -g
endif
endif
C_LD         = $(C_C)
CPP_LD       = $(CPP_C)

C_YACC       = bison
C_LEX        = flex

AR           = ar
RANLIB       = ranlib

OCAML_C      = ocamlc
OCAML_OPT_C  = ocamlopt
ifdef GPROF
OCAML_C_FLAGS     = -dtypes 
OCAML_OPT_C_FLAGS = -dtypes
OCAML_LD     = $(OCAML_C) -g
OCAML_OPT_LD = $(OCAML_OPT_C) -p
else
ifndef DEBUG
OCAML_C_FLAGS     = -dtypes …
Run Code Online (Sandbox Code Playgroud)

gcc ocaml makefile

11
推荐指数
2
解决办法
4万
查看次数

如何为架构x86_64错误修复g ++未定义符号?

首先,我已经在Stackoverflow上阅读了有关此问题的相关内容,但我仍然无法解决它.我尽可能简化了我的代码.

我只有一个带.h和.cpp文件的自定义类,但是在尝试从main.cpp创建此类的实例时出错.

main.cpp中

#include "Customer.h"
using namespace std;

int main() {
    Customer a("string");

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

Customer.h

using namespace std;

class Customer {
public:
    Customer(string input);
};
Run Code Online (Sandbox Code Playgroud)

为customer.cpp

#include "Customer.h"
using namespace std;

Customer::Customer(string input) {
}
Run Code Online (Sandbox Code Playgroud)

我得到的错误信息如下?

  gcc *.cpp -o k


  Undefined symbols for architecture x86_64:
    "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__init(char const*, unsigned long)", referenced from:
        _main in main-40340f.o
    "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
        _main in main-40340f.o
    "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()", referenced from:
        _main in …
Run Code Online (Sandbox Code Playgroud)

c++ string macos gcc

3
推荐指数
2
解决办法
8091
查看次数

标签 统计

c++ ×3

gcc ×3

clang++ ×1

linker ×1

macos ×1

makefile ×1

ocaml ×1

opencv ×1

osx-mavericks ×1

string ×1