2014-10-12 3 views
0

Mac에서 Xcode (5.1.1)를 사용하여 상당히 큰 응용 프로그램을 개발했습니다. 모든 코드가 완벽하게 실행되며 가정에서하는 일을합니다. 그러나, 내가 gcc 4.8.3을 가지고있는 대학의 리눅스 서버에서 동일한 코드를 다시 컴파일 할 때, 무수한 에러 수가 나타난다. 소스 코드 파일은 pscp 명령을 사용하여 서버에 업로드되었으므로 수정 작업이 필요하지 않습니다. 내 질문은 : Xcode에서 "호환성 모드"를 사용하여 대학 서버에 업로드하기 전에 호환성 문제를 해결할 수있는 방법이 있습니까?XCode 및 Linux에서 크로스 컴파일?

편집 : 일부 오류가 있습니다 : 사실

BinarySearchTree.cpp:29:23: warning: non-static data member initializers only avau++11 [enabled by default] 
    int insertCount = 0, containsCount = 0, removeCount = 0; 
        ^
BinarySearchTree.cpp:29:42: warning: non-static data member initializers only avau++11 [enabled by default] 
    int insertCount = 0, containsCount = 0, removeCount = 0; 
             ^
BinarySearchTree.cpp:29:59: warning: non-static data member initializers only avau++11 [enabled by default] 
    int insertCount = 0, containsCount = 0, removeCount = 0; 
                 ^
BinarySearchTree.cpp:30:21: warning: non-static data member initializers only avau++11 [enabled by default] 
    int nodeCount = 0; 
        ^
BinarySearchTree.cpp:47:36: error: expected ',' or '...' before '&&' token 
    BinarySearchTree(BinarySearchTree && rhs) : root{ rhs.root } 
            ^
BinarySearchTree.cpp:47:42: error: invalid constructor; you probably meant 'BinarnarySearchTree<Comparable>&)' 
    BinarySearchTree(BinarySearchTree && rhs) : root{ rhs.root } 
             ^
BinarySearchTree.cpp:48:2: error: expected unqualified-id before '{' token 
    { 
^
BinarySearchTree.cpp:73:48: error: expected ',' or '...' before '&&' token 
    BinarySearchTree & operator=(BinarySearchTree && rhs) 
               ^
BinarySearchTree.cpp:153:25: error: expected ',' or '...' before '&&' token 
    void insert(Comparable && x) 
         ^
BinarySearchTree.cpp:185:25: error: expected ',' or '...' before '&&' token 
    BinaryNode(Comparable && theElement, BinaryNode *lt, BinaryNode *rt) 
         ^
BinarySearchTree.cpp:216:25: error: expected ',' or '...' before '&&' token 
    void insert(Comparable && x, BinaryNode * & t) 
         ^
BinarySearchTree.cpp:216:7: error: 'void BinarySearchTree<Comparable>::insert(Com 
    void insert(Comparable && x, BinaryNode * & t) 
    ^
BinarySearchTree.cpp:153:7: error: with 'void BinarySearchTree<Comparable>::inser 
    void insert(Comparable && x) 
    ^
BinarySearchTree.cpp: In constructor 'BinarySearchTree<Comparable>::BinarySearchT 
BinarySearchTree.cpp:32:23: warning: extended initializer lists only available wiabled by default] 
    BinarySearchTree() : root{ NULL } 
        ^
BinarySearchTree.cpp: In copy constructor 'BinarySearchTree<Comparable>::BinarySeomparable>&)': 
BinarySearchTree.cpp:39:51: warning: extended initializer lists only available wiabled by default] 
    BinarySearchTree(const BinarySearchTree & rhs) : root{ NULL } 
               ^
BinarySearchTree.cpp: In member function 'BinarySearchTree<Comparable>& BinarySeanarySearchTree<Comparable>)': 
BinarySearchTree.cpp:75:19: error: 'rhs' was not declared in this scope 
    std::swap(root, rhs.root); 
       ^
BinarySearchTree.cpp: In member function 'void BinarySearchTree<Comparable>::inse 
BinarySearchTree.cpp:155:10: error: 'move' is not a member of 'std' 
    insert(std::move(x), root); 
     ^
BinarySearchTree.cpp:155:20: error: 'x' was not declared in this scope 
    insert(std::move(x), root); 
        ^
BinarySearchTree.cpp: In constructor 'BinarySearchTree<Comparable>::BinaryNode::BrySearchTree<Comparable>::BinaryNode*, BinarySearchTree<Comparable>::BinaryNode*) 
BinarySearchTree.cpp:183:6: warning: extended initializer lists only available wiabled by default] 
    : element{ theElement }, left{ lt }, right{ rt } { } 
    ^
BinarySearchTree.cpp:183:29: warning: extended initializer lists only available wnabled by default] 
    : element{ theElement }, left{ lt }, right{ rt } { } 
          ^
BinarySearchTree.cpp:183:41: warning: extended initializer lists only available wnabled by default] 
    : element{ theElement }, left{ lt }, right{ rt } { } 
             ^
BinarySearchTree.cpp: In constructor 'BinarySearchTree<Comparable>::BinaryNode::B 
BinarySearchTree.cpp:186:6: warning: extended initializer lists only available wiabled by default] 
    : element{ std::move(theElement) }, left{ lt }, right{ rt } { } 
    ^
BinarySearchTree.cpp:186:15: error: 'move' is not a member of 'std' 
    : element{ std::move(theElement) }, left{ lt }, right{ rt } { } 
      ^
BinarySearchTree.cpp:186:25: error: 'theElement' was not declared in this scope 
    : element{ std::move(theElement) }, left{ lt }, right{ rt } { } 
         ^
BinarySearchTree.cpp:186:40: warning: extended initializer lists only available wnabled by default] 
    : element{ std::move(theElement) }, left{ lt }, right{ rt } { } 
             ^
BinarySearchTree.cpp:186:46: error: 'lt' was not declared in this scope 
    : element{ std::move(theElement) }, left{ lt }, right{ rt } { } 
              ^
BinarySearchTree.cpp:186:52: warning: extended initializer lists only available wnabled by default] 
    : element{ std::move(theElement) }, left{ lt }, right{ rt } { } 
                ^
BinarySearchTree.cpp:186:59: error: 'rt' was not declared in this scope 
    : element{ std::move(theElement) }, left{ lt }, right{ rt } { } 
                 ^
BinarySearchTree.cpp: In member function 'void BinarySearchTree<Comparable>::inseComparable>::BinaryNode*&)': 
BinarySearchTree.cpp:202:12: warning: extended initializer lists only available wnabled by default] 
    t = new BinaryNode{ x, NULL, NULL }; 
      ^
BinarySearchTree.cpp: In member function 'void BinarySearchTree<Comparable>::inse 
BinarySearchTree.cpp:218:7: error: 't' was not declared in this scope 
    if (t == NULL) 
    ^
BinarySearchTree.cpp:219:12: warning: extended initializer lists only available wnabled by default] 
    t = new BinaryNode{ std::move(x), NULL, NULL }; 
      ^
BinarySearchTree.cpp:219:24: error: 'move' is not a member of 'std' 
    t = new BinaryNode{ std::move(x), NULL, NULL }; 
         ^
BinarySearchTree.cpp:219:34: error: 'x' was not declared in this scope 
    t = new BinaryNode{ std::move(x), NULL, NULL }; 
           ^
BinarySearchTree.cpp:220:12: error: 'x' was not declared in this scope 
    else if (x < t->element) 
      ^
BinarySearchTree.cpp:221:11: error: 'move' is not a member of 'std' 
    insert(std::move(x), t->left); 
     ^
BinarySearchTree.cpp:223:11: error: 'move' is not a member of 'std' 
    insert(std::move(x), t->right); 
     ^
BinarySearchTree.cpp: In member function 'void BinarySearchTree<Comparable>::remoComparable>::BinaryNode*&)': 
BinarySearchTree.cpp:243:23: error: 'nullptr' was not declared in this scope 
    else if (t->left != nullptr && t->right != nullptr) // Two children 
        ^
BinarySearchTree.cpp: In member function 'BinarySearchTree<Comparable>::BinaryNodclone(BinarySearchTree<Comparable>::BinaryNode*) const': 
BinarySearchTree.cpp:367:15: warning: extended initializer lists only available wnabled by default] 
    return new BinaryNode{ t->element, clone(t->left), clone(t->right) }; 
     ^
+0

어떤 종류의 오류가 발생합니까? 적어도 그들 중 하나가 무엇인지 말해 줄 수 있습니까? – Tommy

+0

GCC가 C++ 11로 구축되지 않은 것 같습니다. 반면 Xcode (LLVM, 아마도)는 그렇습니다. 예 : 'nullptr'이 정의되지 않았다는 주장을보십시오. C++ 11로 제출하도록 허가 받았습니까? – Tommy

답변

0

, 내가 대답에 내 의견을 확장거야.

댓글 : GCC가 C++ 11로 제작되지 않은 것 같습니다. 반면 Xcode (LLVM, 아마도)는 그렇습니다. 예 : nullptr이 정의되지 않았다는 주장을보십시오.

, 당신의 프로젝트 설정을 열고, 엑스 코드에서 구식 C++ 컴파일러처럼 컴파일 LLVM 힘이 하나로 이동하려면

enter image description here ... 그리고는 C++ 98을 선택합니다.

+0

어떻게 이러한 옵션을 사용할 수 있습니까? –

관련 문제