2009-01-13 39 views
20

Tôi đang cố gắng sử dụng Qt cho một dự án ở trường nhưng đang gặp sự cố. Tôi bắt đầu theo các hướng dẫn và tôi đang gặp vấn đề với Makefile. Hầu hết các hướng dẫn đều nói để chạy qmake -project, sau đó qmake và cuối cùng là make. Nhưng khi tôi thử điều này tôi chạy vào lỗi make: *** No targets specified and no makefile found. Stop. Tôi không biết nhiều về Makefiles thực sự. Ai đó có thể giúp chỉ cho tôi đi đúng hướng không?Làm thế nào để biên dịch một ứng dụng Qt và C++ đơn giản bằng g ++ trên mac os x?

+0

Bạn có sử dụng XCode hoặc chỉ dòng lệnh? –

Trả lời

24

qmake trên OS X tạo tệp dự án Xcode. Bạn có thể tạo một Makefile với:

qmake -spec macx-g++ 

Nếu bạn không muốn các Makefile để tạo ra một gói ứng dụng, bạn cũng có thể loại bỏ 'app_bundle' cấu hình của bạn, ví dụ bằng cách thêm các dòng sau vào tập tin dự án của bạn.

mac { 
    CONFIG -= app_bundle 
} 
+1

Ngược lại, tôi muốn tạo một gói ứng dụng, nhưng tôi chỉ nhận được một tệp nhị phân. Tôi đã thử thêm 'CONFIG + = app_bundle' vào lịch phát sóng. –

2

Có vẻ như có vấn đề với cài đặt Qt của bạn. Bạn đã tự mình xây dựng hay cài đặt bản dựng từ người khác? Ngoài ra, bạn có một tập tin ví dụ .pro đó là cho bạn rắc rối này?

+0

Tôi không tự xây dựng nó. Tôi đã cài đặt mac os x build từ trang qt. .pro tôi đang sử dụng trông giống như thế này: ' TEMPLATE = app TARGET = DEPENDPATH + =. INCLUDEPATH + =. # Nhập HEADERS + = hello.h NGUỒN + = hello.cpp main.cpp ' – Sam

+0

Như những người khác đã chỉ ra, qt trên OSX với cài đặt từ QtSoftware tạo tệp dự án Xcode.Bạn có thể muốn thử xây dựng Qt của riêng bạn từ nguồn, để nó sẽ mặc định để xây dựng makefiles. – Arcane

2

Đã lâu rồi, nhưng tôi nghĩ vấn đề của bạn là qmake trên Mac OS X tạo tệp dự án xcode theo mặc định, thay vì makefiles. Đó là lý do tại sao không có makefile được tìm thấy khi bạn chạy. Thay vào đó, hãy tìm trong các dòng lệnh cho qmake để chỉ định cách nhắm mục tiêu makefiles. Ngoài ra, có thể có một tùy chọn mà bạn có thể thêm vào tệp .pro để buộc đầu ra của tệp makefile mỗi lần.

10

Như các áp phích khác đã chỉ ra, hành vi mặc định của qmake trên máy Mac là tạo tệp dự án xCode. Bạn có thể gõ vào một cái gì đó đặc biệt mỗi khi bạn chạy qmake hoặc thêm một vài dòng cho mỗi tập tin dự án. Có một giải pháp lâu dài hơn. Tôi chạy vào điều này mỗi khi tôi cài đặt Qt trên máy Mac của mình. Từ một kiểu dòng lệnh trong những điều sau đây:

cd /usr/local/Qt4.5/mkspecs/

sudo rm mặc định

sudo ln -sf macx-g ++ mặc định

Thư mục được chỉ định trong lệnh trực tuyến đầu tiên có thể cần một số chỉnh sửa. "sudo" đầu tiên sẽ yêu cầu mật khẩu quản trị.

Điều này thực hiện là xóa tệp vi phạm chỉ định rằng chuyển đổi mặc định -spec là mac-xcode hoặc tương tự như vậy. Sau đó chúng tôi thay thế bằng một tệp chỉ định chúng tôi sử dụng chuyển đổi macx-g ++ theo mặc định.

2

configure -platform macx-g ++ gmake

đó là đủ cho tất cả các câu hỏi

Các vấn đề liên quan