CygwinでMakeするファイルにリソースつけてみた

cygwinでネットワークプログラム作るとめちゃくちゃセキュリティソフトに誤検出されて消されるよ!

開発したソフトがウィルスに誤検出されないために
理由は簡単。
バージョンリソースがないから

rc
まず、VC++ で .rc ファイルを作ります。

rc2
次に windres コマンドで .oファイルを生成します

後は

LIBCOMPAT=openbsd-compat/libopenbsd-compat.a
$(LIBCOMPAT): always
        (cd openbsd-compat && $(MAKE))
always:

libssh.a: $(LIBSSH_OBJS)
        $(AR) rv $@ $(LIBSSH_OBJS)
        $(RANLIB) $@

ssh$(EXEEXT): $(LIBCOMPAT) libssh.a $(SSHOBJS)
        $(LD) -o $@ $(SSHOBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(SSHLIBS) $(LIBS) $(GSSLIBS) ver.o

sshd$(EXEEXT): libssh.a $(LIBCOMPAT) $(SSHDOBJS)
        $(LD) -o $@ $(SSHDOBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(SSHDLIBS) $(LIBS) $(GSSLIBS) $(K5LIBS) ver2.o

scp$(EXEEXT): $(LIBCOMPAT) libssh.a scp.o progressmeter.o
        $(LD) -o $@ scp.o progressmeter.o bufaux.o $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS)

ssh-add$(EXEEXT): $(LIBCOMPAT) libssh.a ssh-add.o
        $(LD) -o $@ ssh-add.o $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS)

Makefileを編集して リソース情報追加したいファイルのリンクに .oファイルを追加。

で、makeすると…。

rc3
バージョン情報追加されました・ω・

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です