Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Trang 1 của 2 12 CuốiCuối
Kết quả 1 đến 10 của 13
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Build tốt bằng MSVC, đem sang CodeBlocks lỗi nhăn răng

    Tình hình là đang viết một cái engine cross-platform cho nên là phải dùng code blocks để còn build trên linux, mac(trước chưa dùng code blocks bao giờ).

    Nhưng chả hiểu làm sao code trên MSVC build ngon ơ mà sang code blocks thì lỗi tưng bừng [IMG]images/smilies/17.gif[/IMG] .

    Mà cái lỗi thì lạ hoắc, chưa thấy trên MSVC bao giờ mới sợ chứ :|. Search mãi chả được, đem lên đây hỏi anh em xem nó làm sao.


    ||=== Legend, Release ===|
    ..\..\..\Sources\Legend\Inc\lgLogger.h|73|error: using-declaration for non-member at class scope|

    ..\..\..\Sources\Legend\Inc\lgLogger.h|73|error: expected `;' before "mStream"|

    ..\..\..\Sources\Legend\Inc\lgLogger.h||In member function `Legend::Logger& Legend::Logger:perator<<(const T&)':|

    ..\..\..\Sources\Legend\Inc\lgLogger.h|54|error: `wstringstream' is not a member of `std'|

    ..\..\..\Sources\Legend\Inc\lgLogger.h|54|error: expected `;' before "msg"|

    ..\..\..\Sources\Legend\Inc\lgLogger.h|55|error: `msg' was not declared in this scope|

    ..\..\..\Sources\Legend\Inc\lgLogger.h|58|error: `mStream' was not declared in this scope|

    D:\The Legend Team\Legend Game Engine\Sources\Legend\Src\lgLogger.cpp||In constructor `Legend::Logger::Logger(const Legend::wstring&)':|

    D:\The Legend Team\Legend Game Engine\Sources\Legend\Src\lgLogger.cpp|27|error: `mStream' was not declared in this scope|

    D:\The Legend Team\Legend Game Engine\Sources\Legend\Src\lgLogger.cpp||In destructor `virtual Legend::Logger::~Logger()':|

    D:\The Legend Team\Legend Game Engine\Sources\Legend\Src\lgLogger.cpp|51|error: `mStream' was not declared in this scope|

    ||=== Build finished: 8 errors, 0 warnings ===|
    Script của MSVC tại Build\MSVC và code blocks tại Build\CodeBlocks để tiện so sánh.

    Edit: Code blocks dùng MinGW.

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Không có ai dùng code blocks ah` T_T.

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Chuyện bình thường thôi! Viết trên trình biên dịch này thì cái kia nó không hiểu là bình thường.

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Đây không bình thường tý nào mới là vấn đề :|. Tớ dùng toàn standard library cơ mà, code cũng theo chuẩn nốt.

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi NamVoDang
    Đây không bình thường tý nào mới là vấn đề :|. Tớ dùng toàn standard library cơ mà, code cũng theo chuẩn nốt.
    Lấy gì để chứng minh là bác đã viết theo standard hết )
    Hình như là tại ko có std::wstringstream trong MingW.

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Lấy gì để chứng minh là bác đã viết theo standard hết [IMG]images/smilies/smile.png[/IMG])
    Các lỗi compile báo ở trên không cái nào nói là tớ dùng cái gì không standard(tức là nó không hiểu) trừ việc nó không thấy thằng std::wstringstream.

    Mà cái thằng đó tớ find ngay bằng code blocks thấy "nó có" và tớ "đã" include cái header đó rồi :|.

  7. #7
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    theo phán đoán cá nhân: chưa add tất cả các file cần thiết vào project, cho dù có đặt chung folder lỗi như thường. Phải add tất cả vào project thì linker và compiler mới liên kết các file lại với nhau. Lỗi ở trên sinh ra do 2 nguyên nhân:

    1. File không tồn tại hoặc không có trong project.
    2. Hàm hay các thành phần ứng dụng chưa định nghĩa.

  8. #8
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Cái std::wstringstream đó là standard mà.

    Còn lại trong project của tớ add tất cả các file vào rồi(kể cả header).

  9. #9
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Em thấy các file khá là rời rạc, anh thử tạo project mới rồi từ lựa chọn add anh thêm các file kia vào project xem sao.

    Tạo head mà mình chỉ copy chay vào cùng thư mục nó không chạy đâu anh.

  10. #10
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trong đám đó thì ngoại trừ thằng lgMSVC.h là cấu hình riêng cho MSVC anh không add vào project còn lại anh add tất rồi mà.

    Mà cái này nó đòi là đòi thằng std::wstringstream trong thư viện chuẩn chứ nó đâu có đòi trong đám source code anh viết :|.

    Mà rõ mình include đầy đủ rồi mà không được mới nhảm chứ, mà còn nữa, sửa thành std::stringstream thì không thấy làm sao, có lẽ do config multy char nên nó mới thế, mà unicode thì chả hiểu code blocks nó config chỗ nào :|.

    Edit: Với lại trên lý thuyết thì trừ precompiled header còn lại các header khác không cần add vào project mà, nó chỉ compile source file thôi, có thấy header nó mờ mờ không?. Mà đây anh cẩn thận add tất cả đám rồi mà không được mới sợ chứ :|.

 

 
Trang 1 của 2 12 CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •