armadillo 라이브러리를 사용하여 행렬 곱셈에 대해 '*'를 인식하지 못하는 g ++ 컴파일

토드 영

다음 C ++ 코드를 컴파일 할 때 오류가 발생합니다.

# include <iostream>
# include <armadillo>

using namespace arma;
using namespace std;

int main() {
mat A;
mat B;
mat C;

// Populating the matrices with random numbers
A.randu(3,3);
B.randu(3,3);

// Matrix multiplication
C = A * B;

cout << "Mutliplying matrices A and B:" << endl;
cout << "A * B = " << C << endl;

return 0;

}

다음은 g ++로 컴파일 할 때 내 오류입니다.

아키텍처 x86_64에 대한 정의되지 않은 기호 : "_wrapper_dgemm_", 참조 :

 void arma::blas::gemm<double>(char const*, char const*, int const*, > int const*, int const*, double const*, double const*, int const*, double > const*, int const*, double const*, double*, int const*) in   >armadillo_playground-aa3649.o

"_wrapper_dgemv_", 다음에서 참조 :

 void arma::blas::gemv<double>(char const*, int const*, int const*, >double const*, double const*, int const*, double const*, int const*, >double const*, double*, int const*) in armadillo_playground-aa3649.o

ld : 아키텍처 x86_64에 대한 기호를 찾을 수 없음 clang : 오류 : 링커 명령이 종료 코드 1로 실패했습니다 (> 호출을 보려면 -v 사용).

행렬 곱셈 '*'를 '+', '%'등으로 바꾸면 코드가 불만없이 컴파일됩니다.

미리 감사드립니다!

더크 에델 뷔텔

오류는 올바르게 빌드하여 극복 할 수 있는 간단한 링커 오류입니다. 정확히 필요한 것은 시스템 / OS에 따라 다르지만 (모두 문서화되어 있음) 내 Linux 상자에서는 작동합니다.

edd@max:/tmp$ g++ -o arma arma.cpp -larmadillo 
edd@max:/tmp$ ./arma 
Mutliplying matrices A and B:
A * B =    1.0574   1.0356   1.5178
   1.1368   1.3434   1.4919
   0.7028   0.6516   1.0423

edd@max:/tmp$ 

여기 arma.cpp에 예제가 포함 된 파일이 있습니다. libarmadillo.soLAPACK 및 BLAS 라이브러리에 연결 되므로 라이브러리 만 연결하면 충분합니다. 다른 OS는 사용 패턴이 다를 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

링커 오류, g ++를 사용하여 gcc로 컴파일 된 라이브러리에 연결, 해당 함수에 대한 정의되지 않은 참조

분류에서Dev

나는 PHP에서 행렬 곱셈 코드를 만들려고하지만 행렬 곱셈 대신 행과 열로 간단한 곱셈이 발생합니다.

분류에서Dev

여러 행렬을 곱하기 위해 루프를 사용하는 Python Numpy 행렬 곱셈

분류에서Dev

Visual C ++ 컴파일러를 사용하여 Boost 1.39.0 빌드 라이브러리를 위해 Cmake를 실행하는 방법

분류에서Dev

armadillo 및 hdf5 라이브러리를 사용하는 간단한 코드에 대한 C ++ 빌드 오류

분류에서Dev

g ++를 사용하여 C ++ 코드로 C 라이브러리를 컴파일 할 수 없습니다.

분류에서Dev

라이브러리에서 가져온 매크로는 해당 라이브러리를 사용하는 실행 파일에서 사용할 수 없습니다.

분류에서Dev

C ++에서 다른 라이브러리를 사용하는 라이브러리 컴파일

분류에서Dev

Netbeans에서 R 라이브러리를 사용하는 C 코드 컴파일

분류에서Dev

avr-gcc 컴파일러 / 링커를 사용하여 연결된 avrfix 라이브러리의 함수에 대한 정의되지 않은 참조

분류에서Dev

종속 애플리케이션에 동적 라이브러리와 동일한 컴파일러를 사용해야하는 이유는 무엇입니까?

분류에서Dev

라이브러리 가져 오기를 사용하여 C 파일을 웹 어셈블리 파일 (Emscripten)로 컴파일하는 방법

분류에서Dev

g ++를 사용하여 cpp 파일 및 정적 라이브러리에서 공유 라이브러리 만들기

분류에서Dev

컴파일러가 std :: vector에 대한 멤버 이니셜 라이저를 인식하지 못합니다.

분류에서Dev

g ++를 사용하여 여러 .cpp 및 .h 파일 컴파일. 내가 제대로하고 있는가?

분류에서Dev

g ++를 사용하여 여러 .cpp 및 .h 파일 컴파일. 내가 제대로하고 있는가?

분류에서Dev

Autotools를 사용하여 Python 모듈을 컴파일하고 Python 라이브러리 경로에 설치

분류에서Dev

Java의 itext 라이브러리를 사용하여 병합 된 PDF에 대한 색인 파일 (TOC) 생성

분류에서Dev

g ++ 대신 CMake를 사용하여 GDAL 라이브러리 연결

분류에서Dev

덧셈과 곱셈이 코드를 이해하지 못하는 파이썬

분류에서Dev

이중 루프를 대체하여 더 빠른 행렬 곱셈

분류에서Dev

발리 라이브러리를 사용하여 json 객체에 대한 PHP 파일 전달

분류에서Dev

xlC 13.1.2를 사용하여 AIX 7.1에서 boost C ++ 라이브러리 컴파일

분류에서Dev

makefile에 라이브러리를 포함하고 컴파일하는 방법

분류에서Dev

컴파일 시간에 알려진 배열 크기 : g ++를 사용하여 컴파일을 통과했지만 icpc에는 해당되지 않음

분류에서Dev

android.hardware.Camera를 사용하기 위해 API 19에 대한 프로젝트 컴파일 / AppCompat 라이브러리 참조 방법은 무엇입니까?

분류에서Dev

docx 라이브러리를 사용하여 단어 파일에 쓰는 Python

분류에서Dev

openssl 라이브러리를 사용하여 arm으로 크로스 컴파일

분류에서Dev

GCC (G ++)를 사용하여 C ++ OpenACC 병렬 CPU 코드 컴파일

Related 관련 기사

  1. 1

    링커 오류, g ++를 사용하여 gcc로 컴파일 된 라이브러리에 연결, 해당 함수에 대한 정의되지 않은 참조

  2. 2

    나는 PHP에서 행렬 곱셈 코드를 만들려고하지만 행렬 곱셈 대신 행과 열로 간단한 곱셈이 발생합니다.

  3. 3

    여러 행렬을 곱하기 위해 루프를 사용하는 Python Numpy 행렬 곱셈

  4. 4

    Visual C ++ 컴파일러를 사용하여 Boost 1.39.0 빌드 라이브러리를 위해 Cmake를 실행하는 방법

  5. 5

    armadillo 및 hdf5 라이브러리를 사용하는 간단한 코드에 대한 C ++ 빌드 오류

  6. 6

    g ++를 사용하여 C ++ 코드로 C 라이브러리를 컴파일 할 수 없습니다.

  7. 7

    라이브러리에서 가져온 매크로는 해당 라이브러리를 사용하는 실행 파일에서 사용할 수 없습니다.

  8. 8

    C ++에서 다른 라이브러리를 사용하는 라이브러리 컴파일

  9. 9

    Netbeans에서 R 라이브러리를 사용하는 C 코드 컴파일

  10. 10

    avr-gcc 컴파일러 / 링커를 사용하여 연결된 avrfix 라이브러리의 함수에 대한 정의되지 않은 참조

  11. 11

    종속 애플리케이션에 동적 라이브러리와 동일한 컴파일러를 사용해야하는 이유는 무엇입니까?

  12. 12

    라이브러리 가져 오기를 사용하여 C 파일을 웹 어셈블리 파일 (Emscripten)로 컴파일하는 방법

  13. 13

    g ++를 사용하여 cpp 파일 및 정적 라이브러리에서 공유 라이브러리 만들기

  14. 14

    컴파일러가 std :: vector에 대한 멤버 이니셜 라이저를 인식하지 못합니다.

  15. 15

    g ++를 사용하여 여러 .cpp 및 .h 파일 컴파일. 내가 제대로하고 있는가?

  16. 16

    g ++를 사용하여 여러 .cpp 및 .h 파일 컴파일. 내가 제대로하고 있는가?

  17. 17

    Autotools를 사용하여 Python 모듈을 컴파일하고 Python 라이브러리 경로에 설치

  18. 18

    Java의 itext 라이브러리를 사용하여 병합 된 PDF에 대한 색인 파일 (TOC) 생성

  19. 19

    g ++ 대신 CMake를 사용하여 GDAL 라이브러리 연결

  20. 20

    덧셈과 곱셈이 코드를 이해하지 못하는 파이썬

  21. 21

    이중 루프를 대체하여 더 빠른 행렬 곱셈

  22. 22

    발리 라이브러리를 사용하여 json 객체에 대한 PHP 파일 전달

  23. 23

    xlC 13.1.2를 사용하여 AIX 7.1에서 boost C ++ 라이브러리 컴파일

  24. 24

    makefile에 라이브러리를 포함하고 컴파일하는 방법

  25. 25

    컴파일 시간에 알려진 배열 크기 : g ++를 사용하여 컴파일을 통과했지만 icpc에는 해당되지 않음

  26. 26

    android.hardware.Camera를 사용하기 위해 API 19에 대한 프로젝트 컴파일 / AppCompat 라이브러리 참조 방법은 무엇입니까?

  27. 27

    docx 라이브러리를 사용하여 단어 파일에 쓰는 Python

  28. 28

    openssl 라이브러리를 사용하여 arm으로 크로스 컴파일

  29. 29

    GCC (G ++)를 사용하여 C ++ OpenACC 병렬 CPU 코드 컴파일

뜨겁다태그

보관