此問題在某處確實可以解答,但找不到它。我已經寫Java十幾年了,而我的C經驗是在Unix上,所以我在這裏只是一個平方。在我的Unix體驗中,有人編寫了makefile,它工作正常。將.a文件轉換爲.dll
我已經從feep下載了libtar-1.2.11的C源代碼,並從cygwin裏面運行了make
。這創建了一個.a
文件和一個.exe
文件。 EXE文件似乎基本上是在Windows上運行的tar,但我想要的是讓這些庫在我自己的代碼中讀取和處理文件。
如果我沒有記錯的話,應該在.a
文件(檔案??)中,這需要鏈接到我可以從我的C++程序中使用的庫。所以我正在尋找一種方法來做到這一點。
我正在寫一個庫,將使用.tgz
文件,所以我想使用這個庫。我想我想將libtar變成一個DLL,並且自己創建一個DLL以供其他語言使用。
那麼,如何將我的.a
文件變成其他應用程序可用的內容,以及如何從代碼中訪問它?
我不熟悉轉換.a - > .dll的機制。但是,您可以編譯Windows機器上的源代碼來生成.dll。 –
您將不會使用'.a'文件來創建DLL,您將直接使用源代碼。 –
@MarkRansom是對的,你需要重新編譯。 '.a'文件通常不包含與位置無關的代碼(PIC),因此您無法動態鏈接所包含的代碼。 –