为什么用了SelectDirectory函数,在link的时候就会现错误?

szbug 2003-04-28 01:45:00
在程序中用了SelectDirectory函数,加了头文件#include <FileCtrl.hpp>,如果把
Project Options中的Packages->Build with runtime packages和Linker->Use dynamic RTL前面的沟去掉,想编译独立的可执行文件时出现Link错误。
错误信息如下:
[Linker Error] Unresolved external '__fastcall Filectrl::SelectDirectory(const System::AnsiString, const System::WideString, System::AnsiString&)' referenced from C:\WORK\CONVERSIONDATA\MAIN.OBJ

软件环境:Win2000/BCB6.0+Update4
请问是什么问题?有什么办法解决?
...全文
97 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zywx 2003-05-29
  • 打赏
  • 举报
回复
注意第二个参数是WideString型的,使用字符串时要强制类型转换一下
WideString("d:\\abc")
IT-司马青衫 2003-05-28
  • 打赏
  • 举报
回复
1 有没有命名冲突
2 编译选项是否相同
IT-司马青衫 2003-04-29
  • 打赏
  • 举报
回复
应该是路径上有些问题,你这样:
Project->Options->Directories/Conditionals中加上你这个公共类的路径。
//----------------------------------------
项目中加上MEMMGR.LIB
//------------------------------
删除所有的*.obj文件.
把你的工程中unit先delete from your project 再,add to project 就行了
//-------------------------------------
UNIT1源程序中宣称在其它文件中定义的外部变量WSASocketA,实际上没有任何一个文件定义过。
原因:连接的OBJ文件缺了,变量名称大小写不一致等。
原来少了这一条
#pragma comment(lib, "Ws2_32.lib")
//--------------------------------
Add to Project -> 选 psapi.lib

不过注意:在9X下,缺省没有psapi.dll这个文件,必须把它考到你的程序目录地下,不然你的程序起不来.
yesry 2003-04-29
  • 打赏
  • 举报
回复
gz
warton 2003-04-28
  • 打赏
  • 举报
回复

我也遇见过类似的问题,可能是第三方控件的问题,我上次是因为xpmenu控件
你看你的filectrl.hpp在不在你的include中?
szbug 2003-04-28
  • 打赏
  • 举报
回复
Up

13,825

社区成员

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

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