Tüm DLL sembollerini Windowsa Aktarmak

Anonimİm

Super Member
Katılım
10 May 2021
Konular
10
Mesajlar
193
Çözümler
1
Tepkime puanı
44
MERHABA ;


Linux'de kitaplık oluşturmaya aşinaysanız, varsayılan olarak tüm dll simgelerinin/sembollerinin dışa aktarıldığını bilirsiniz. Bu, sadece .so olarak oluşturduğunuzda ve işiniz bittiğinde kitaplıkları oluşturmayı çok kolaylaştırır, her yerde declspec (dllexport) gibi gereksiz dosyalara gerek yoktur.

Maalesef Windows'ta, yukarıda bahsettiğim declspec ile dışa aktarılacak işlevleri manuel olarak işaretlemeniz gerekli. Standart kitaplığı kullanırsanız, bu durum c++ 'da daha da kötüleşir çünkü standart kitaplık işlevlerinide declspec olarak işaretlemeniz gerekir, ancak kaynak dosyaları değiştirmeden yapamazsınız. Bunun mantıklı çözümü, istediğiniz C++ nesnelerini oluşturan yöntemlerini yazmak ve ardından bu yöntemleri dışa aktarmaktır.

Size Windows'daki tüm sembolleri nasıl dışa aktaracağınızı göstereceğim. Bu, declspec etiketleri olmadan mevcut bir kod tabanını alabileceğiniz, dll / lib olarak derleyebileceğiniz anlamına gelir. Ve sonra bir kaynak kodu değişikliği olmadan istediğiniz işlevleri kullanabilirsiniz.

Aşşağıdaki adımları uygulayın ;

1) Derleme sisteminiz olarak cmake kullanın.

2) Bu kodu değerlendirin.
(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)


GİTHUB
 

Shiva

Admin
Katılım
31 Tem 2019
Konular
522
Mesajlar
4,089
Çözümler
194
Tepkime puanı
14,515
Konum
Berlin
Teşekkür ederiz, forumumuzda bu tarz konular görmeyi seviyoruz
 
Üst