クロス構築ツールチェーンを使用してwin32スタティックライブラリを構築しようとしました。Win32クロススタティックライブラリからの関数のエクスポート
私はMakefileを介して、オブジェクトファイルとmylib.lib
ファイルを構築しました:
$(program_RELEASE_NAME_WIN_STATIC): $(RELEASE_OBJS_WIN32_STATIC)
i686-w64-mingw32-gcc-ar rcs $(BUILD_DIR_WIN32)/static/[email protected] $^
$(BUILD_DIR_WIN32)/static/%.o: %.c $(HEADERS)
$(RELEASE_LINK_WIN32.c) $< -c -o [email protected]
これは私の静的ライブラリmylib.lib
を与えました。 nm
でLinux側でこれを検査し、私は私がすなわち
DUMPBIN /EXPORTS mylib.lib
、窓10 VM上mylib.lib
を検査するとき私が得るすべての構成オブジェクトファイルと、彼らは
ありませんが含まれている機能を見ることができます:
Microsoft (R) COFF/PE Dumper Version 9.00.30729.01
Copyright (C) Microsoft Corporation. All rights reserved.
Dump of file mylib.lib
File Type: LIBRARY
Summary
C .bss
C .data
6AC .drectve
5EAC .rdata
444 .rdata$zzz
29900 .text
38 .text.unlikely
エクスポートされている関数はありません。私は私が私が輸出のためにマークされた関数IEで見えていただけのものだった、.dllファイルを作成されたとき、これはうまく働いた__declspec(dllexport)
でエクスポートする機能をマークアップし、関連するヘッダファイルで
.dllファイル
しかし、静的ライブラリと同等のものは何もエクスポートされていませんか?
Win32の.libファイルでどのように表示されるようにするのですか?
機能は常に表示されていましたか?私はちょうどdumpbin/exportsを使ってそれらを見ることができなくなってしまった。私がリンクしようとしたときに私がこれに帰着した問題は、古くなったヘッダーファイルと.libファイルのwhatsとの間の相違だけであると思うようになりました。ウインカーを外してくれてありがとう.. – bph