[Linker fatal error] fatal: Unable to open file 'graphics.obj'

szwxj 2005-03-02 11:49:30
我使用BCB6编写图像转换程序,编译通过,连接出现错误,如何解决?
...全文
633 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
constantine 2005-03-02
  • 打赏
  • 举报
回复
这个...
好象很久以前我也遇到过,当初在做图象处理的dll
也不太清楚怎么
或许JSP知道
szwxj 2005-03-02
  • 打赏
  • 举报
回复
解决了,但是什么原因,有没有大侠能够说清楚其中的道道?
解决办法是:
新增加一个UNIT,在头文件中包括


#include <Graphics.hpp>

不要放在 .cpp 中,而是放在 .h 中。


奇怪吧!但谁能够说清楚是什么原因,郁闷。
cczlp 2005-03-02
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/3256/3256837.xml?temp=.4853937
szwxj 2005-03-02
  • 打赏
  • 举报
回复
创建一个DLL工程,编写两个输出的函数
源程序如下:

//---------------------------------------------------------------------------

#include <vcl.h>
#include <windows.h>
#include <jpeg.hpp>
#include <graphics.hpp>
#pragma hdrstop
//---------------------------------------------------------------------------
// Important note about DLL memory management when your DLL uses the
// static version of the RunTime Library:
//
// If your DLL exports any functions that pass String objects (or structs/
// classes containing nested Strings) as parameter or function results,
// you will need to add the library MEMMGR.LIB to both the DLL project and
// any other projects that use the DLL. You will also need to use MEMMGR.LIB
// if any other projects which use the DLL will be performing new or delete
// operations on any non-TObject-derived classes which are exported from the
// DLL. Adding MEMMGR.LIB to your project will change the DLL and its calling
// EXE's to use the BORLNDMM.DLL as their memory manager. In these cases,
// the file BORLNDMM.DLL should be deployed along with your DLL.
//
// To avoid using BORLNDMM.DLL, pass string information using "char *" or
// ShortString parameters.
//
// If your DLL uses the dynamic version of the RTL, you do not need to
// explicitly add MEMMGR.LIB as this will be done implicitly for you
//---------------------------------------------------------------------------

extern "C" __stdcall __declspec(dllexport) bool PASCAL wxjBmpToJpg(char* bmpfile,char* jpgfile,int compress);
extern "C" __stdcall __declspec(dllexport) bool PASCAL wxjJpgToBmp(char* jpgfile,char* bmpfile);



#pragma argsused
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
return 1;
}
//---------------------------------------------------------------------------





bool __fastcall BmpToJpg(AnsiString bmpfile, AnsiString jpgfile, int compress)
{
//TODO: Add your source code here
TJPEGImage* jpg;
Graphics::TBitmap * bmp ;
bool b ;


try
{
jpg = new Jpeg::TJPEGImage();
bmp = new Graphics::TBitmap();
b = true;
try
{
bmp->LoadFromFile(bmpfile);
jpg->Assign(bmp);
jpg->CompressionQuality = compress ;
jpg->Compress();
jpg->SaveToFile(jpgfile);
}
__finally
{
bmp->Free();
jpg->Free();
}
}
catch(...)
{
b = false;
}

return b;
}

bool __fastcall JpgToBmp(AnsiString jpgfile, AnsiString bmpfile)
{
//TODO: Add your source code here
Jpeg::TJPEGImage* jpg;
Graphics::TBitmap * bmp ;
bool b ;


try
{
jpg = new Jpeg::TJPEGImage();
bmp = new Graphics::TBitmap();
b = true;
try
{
jpg->LoadFromFile(jpgfile);
bmp->Assign(jpg);
bmp->SaveToFile(bmpfile);
}
__finally
{
bmp->Free();
jpg->Free();
}
}
catch(...)
{
b = false;
}

return b;
}




__declspec(dllexport) bool PASCAL wxjBmpToJpg(char* bmpfile,char* jpgfile,int compress)
{
return BmpToJpg(bmpfile,jpgfile,compress);
}


__declspec(dllexport) bool PASCAL wxjJpgToBmp(char* jpgfile,char* bmpfile)
{
return JpgToBmp(jpgfile,bmpfile);
}


编译没有问题,连接出现上述错误!我使用的是完全发行方式编译。
constantine 2005-03-02
  • 打赏
  • 举报
回复
信息太少了
szwxj 2005-03-02
  • 打赏
  • 举报
回复
EXE没有问题,DLL就出现上述问题,以前也做过类似的东东,没有问题呀?
BL51 BANKED LINKER/LOCATER V6.22 10/13/2017 23:08:20 PAGE 1 BL51 BANKED LINKER/LOCATER V6.22, INVOKED BY: D:\51PROGRAM FILES\C51\BIN\BL51.EXE STARTUP.obj, chuankou.obj TO chuankou RAMSIZE (256) MEMORY MODEL: SMALL INPUT MODULES INCLUDED: STARTUP.obj (?C_STARTUP) chuankou.obj (CHUANKOU) LINK MAP OF MODULE: chuankou (?C_STARTUP) TYPE BASE LENGTH RELOCATION SEGMENT NAME ----------------------------------------------------- * * * * * * * D A T A M E M O R Y * * * * * * * REG 0000H 0008H ABSOLUTE "REG BANK 0" DATA 0008H 0003H UNIT ?DT?CHUANKOU IDATA 000BH 0001H UNIT ?STACK * * * * * * * C O D E M E M O R Y * * * * * * * CODE 0000H 0003H ABSOLUTE CODE 0003H 000CH UNIT ?C_C51STARTUP CODE 000FH 000CH UNIT ?PR?SER?CHUANKOU CODE 001BH 0007H UNIT ?CO?CHUANKOU 0022H 0001H *** GAP *** CODE 0023H 0003H ABSOLUTE CODE 0026H 0041H UNIT ?PR?MAIN?CHUANKOU OVERLAY MAP OF MODULE: chuankou (?C_STARTUP) SEGMENT +--> CALLED SEGMENT --------------------- ?C_C51STARTUP +--> ?PR?MAIN?CHUANKOU ?PR?MAIN?CHUANKOU +--> ?CO?CHUANKOU SYMBOL TABLE OF MODULE: chuankou (?C_STARTUP) VALUE TYPE NAME ---------------------------------- ------- MODULE ?C_STARTUP C:0003H SEGMENT ?C_C51STARTUP I:000BH SEGMENT ?STACK C:0000H PUBLIC ?C_STARTUP D:00E0H SYMBOL ACC BL51 BANKED LINKER/LOCATER V6.22 10/13/2017 23:08:20 PAGE 2 D:00F0H SYMBOL B D:0083H SYMBOL DPH D:0082H SYMBOL DPL N:0000H SYMBOL IBPSTACK N:0100H SYMBOL IBPSTACKTOP N:0080H SYMBOL IDATALEN C:0006H SYMBOL IDATALOOP N:0000H SYMBOL PBPSTACK N:0100H SYMBOL PBPSTACKTOP N:0000H SYMBOL PDATALEN N:0000H SYMBOL PDATASTART N:0000H SYMBOL PPAGE N:0000H SYMBOL PPAGEENABLE D:00A0H SYMBOL PPAGE_SFR D:0081H SYMBOL SP C:0003H SYMBOL STARTUP1 N:0000H SYMBOL XBPSTACK N:0000H SYMBOL XBPSTACKTOP N:0000H SYMBOL XDATALEN N:0000H SYMBOL XDATASTART C:0000H LINE# 126 C:0003H LINE# 133 C:0005H LINE# 134 C:0006H LINE# 135 C:0007H LINE# 136 C:0009H LINE# 185 C:000CH LINE# 196 ------- ENDMOD ?C_STARTUP ------- MODULE CHUANKOU C:0000H SYMBOL _ICE_DUMMY_ D:0080H PUBLIC P0 D:0090H PUBLIC P1 D:00B0H PUBLIC P3 B:00A8H.7 PUBLIC EA C:001BH PUBLIC table D:00A8H PUBLIC IE B:00A8H.4 PUBLIC ES D:00B8H PUBLIC IP B:0098H.0 PUBLIC RI D:0008H PUBLIC flag B:0098H.1 PUBLIC TI C:0026H PUBLIC main D:0099H PUBLIC SBUF D:0098H PUBLIC SCON D:0089H PUBLIC TMOD D:0088H PUBLIC TCON C:000FH PUBLIC ser D:008DH PUBLIC TH1 B:0098H.7 PUBLIC SM0 B:0098H.6 PUBLIC SM1 D:008BH PUBLIC TL1 B:0088H.6 PUBLIC TR1 D:0009H PUBLIC a B:0098H.4 PUBLIC REN D:00C8H PUBLIC T2CON D:000AH PUBLIC i BL51 BANKED LINKER/LOCATER V6.22 10/13/2017 23:08:20 PAGE 3 D:00D0H PUBLIC PSW ------- PROC MAIN C:0026H LINE# 6 C:0026H LINE# 7 C:0026H LINE# 8 C:0029H LINE# 9 C:002CH LINE# 10 C:002FH LINE# 11 C:0031H LINE# 12 C:0033H LINE# 13 C:0035H LINE# 14 C:0037H LINE# 15 C:0039H LINE# 16 C:003BH LINE# 17 C:003BH LINE# 18 C:003BH LINE# 19 C:0040H LINE# 20 C:0040H LINE# 21 C:0042H LINE# 22 C:0045H LINE# 23 C:0047H LINE# 24 C:0047H LINE# 25 C:004FH LINE# 26 C:0052H LINE# 27 C:0054H LINE# 28 C:005BH LINE# 29 C:005EH LINE# 30 C:0061H LINE# 31 C:0063H LINE# 32 C:0065H LINE# 33 C:0065H LINE# 34 ------- ENDPROC MAIN ------- PROC SER C:000FH LINE# 36 C:000FH LINE# 38 C:0011H LINE# 39 C:0014H LINE# 40 C:0017H LINE# 41 C:001AH LINE# 42 ------- ENDPROC SER ------- ENDMOD CHUANKOU Program Size: data=12.0 xdata=0 code=102 LINK/LOCATE RUN COMPLETE. 0 WARNING(S), 0 ERROR(S)

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧