2011-12-14 30 views
7

có thể thiết lập (lý tưởng từ GUI) Build Configuration để tự động thêm hậu tố vào tệp đầu ra theo nền tảng đích không?Có thể cấu hình Cấu hình Xây dựng để tự động thêm hậu tố cho nền tảng đích không?

Ý tôi là, tôi sẽ phải cho dự án thư viện ví dụ đặt tên Project và tôi muốn có được

Project.dll - when I build the project for 32-bit platform 
Project64.dll - when I build the project for 64-bit platform 

Cảm ơn bạn

+0

Cho đến nay như tôi biết điều duy nhất bạn có thể thay đổi là phần mở rộng với '{$ E}' –

+0

Thật không may {$ E} đặt giá trị đằng sau dấu chấm mở rộng, vì vậy sử dụng '{$ E 64.dll } 'sẽ xây dựng cho tôi một cái gì đó như' Project.64.dll' những gì không phải là quá tốt: ( –

+0

Vâng, tôi nhận ra rằng nó không phải là những gì bạn muốn. Xin lỗi vì không được rõ ràng về điểm đó. Cho đến nay như tôi biết đó là chỉ Giải pháp của tôi là sử dụng các kịch bản xây dựng bài đăng để đổi tên tệp. –

Trả lời

12

Funnily đủ Tôi đã cố gắng làm điều tương tự hôm qua cho thực thi tệp ứng dụng của tôi. Tôi đã đạt đến kết luận rằng không thể thay đổi tên của tập tin đầu ra. Cách duy nhất bạn có thể ảnh hưởng đến tên của tệp đầu ra là với chỉ thị {$E} nhưng chỉ kiểm soát phần mở rộng của đầu ra không phải là thứ bạn muốn.

Cập nhật

Nhờ @TOndrej để chỉ ra các chỉ thị $LIBSUFFIX. Điều này dường như không thể sửa đổi được thông qua các tùy chọn dự án IDE cho các thư viện, mặc dù có sự hỗ trợ cho các gói. Tuy nhiên, nó thực sự hoạt động khi được bao gồm trong mã nguồn của gói của bạn. Bao gồm điều này trong thư viện .dpr tập tin của bạn.

{$IFDEF WIN64} 
    {$LIBSUFFIX '64'} 
{$ENDIF} 

Điều này không có tác dụng đối với các dự án sản xuất thực thi (ví dụ: ứng dụng VCL, dịch vụ, v.v.).

+0

Nhờ bạn và TOndrej vì nỗ lực này. –

+0

Bất kỳ cơ hội nào cho tên thực thi?Giống như Project32.exe và Project64.exe –

1

Bạn cũng có thể sử dụng sự kiện xây dựng để đổi tên tệp thực thi. Trong bài sự kiện xây dựng trong tùy chọn dự án, bạn có thể làm một cái gì đó như thế này:

ren $(OUTPUTPATH) $(OUTPUTNAME)$(Platform).exe 

Điều đó sẽ cung cấp cho bạn một cái gì đó như:

ExampleProgramWin64.exe 

hoặc

ExampleProgramWin32.exe 

Nó có nghĩa là bạn không thể gỡ lỗi nó mặc dù, kể từ khi IDE không biết nó được đổi tên, vì vậy có thể làm một bản sao là thích hợp hơn.

copy $(OUTPUTPATH) $(OUTPUTDIR)\$(OUTPUTNAME)$(Platform).exe 
Các vấn đề liên quan