簡體   English   中英

編譯時,架構x86_64的未定義符號出錯

[英]Undefined symbols for architecture x86_64 error when compiling

很簡單,我收到此錯誤:

Undefined symbols for architecture x86_64:
  "Tetris::rotate(int (*) [2], int)", referenced from:
      Tetris::add_piece(char, int, int) in tetris-8a8072.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

這是我的旋轉功能:

int** rotate(int oldpiece[][2],int rot){
    int **newpiece= new int*[4];
    for (unsigned int i=0; i<4; ++i){
        newpiece[i] = new int[2];
    }
    for (unsigned int i=0; i<4; ++i){
        for (unsigned int j=0; j<2; ++j){
            newpiece[i][j]=oldpiece[i][j];
        }
    }
    return newpiece;
}

舊件是一個4x2的整數數組。

到目前為止,所有這些功能應該是將oldpiece復制到newpiece然后return newpiece; 我不知道這個錯誤意味着什么。

你有外部圖書館嗎? 如果是這樣,你必須鏈接它。 另外,嘗試在release選項下編譯程序而不是debug選項。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM