今天编译了下 ioftpd ioFTPD-v7.7.3-src,遇到几个问题。
//z 2014-05-05 22:04:40 L.240' 6920 BG57IV3@BYH T3695602389.K.F519279140 [T2,L60,R1,V5]
1. 需要 openssl
下载并且编译 openssl-1.0.1g

2. 遇到一处包含头文件 <ms/applink.c>
改为 <openssl/applink.c>

3. 无法找到 tcl.h
详细见代码下 Tcl.txt;作者做了说明。
Error1fatal error C1083: Cannot open include file: 'tcl.h': No such file or directory
3.1 似乎还需要 tcl 。
下载了 tcl8.6.1-src
3.2 然后无法找到 tcl85tg.lib
使用 tcl86t.lib

3.3 Error2error LNK2019: unresolved external symbol _Tcl_RegisterHandleLockFunctions referenced in function _Tcl_ModuleInitTcl.objioFTPD-v7
直接注释了,不知道有无什么影响。

3.3.1 看了眼文件夹,发现有tcl.txt,里面有详细的说明。有文档务必认真阅读文档呀。。。

//z 2014-05-06 00:40:59 L.239'83941 BG57IV3@BYH T190870396 .K.F519279140 [T5,L65,R1,V9]
3.3.2 仍有以下问题
Bad return type: void Tcl_RegisterHandleLockFunctions(void (*AcquireLock)(void),
 void (*ReleaseLock)(void))
3.3.2.1 作者所用的tcl85t.dll确有 Tcl_RegisterHandleLockFunctions

08-27-2010, 02:07 PM
//z 2014-05-05 22:35:30 L.240' 5070 BG57IV3@BYH T278698003 .K.F519279140 [T3,L61,R1,V6]
Hmm, it just occurred to me that starting with v7.1.0 the TCL libraries differ from the official TCL v8.5.8 sources because of the addition of the Tcl_RegisterHandleLockFunctions command. That was added so the TCL library can share the ioFTPD lock around process/socket creation. I've included a copy of the TCL sources I'm building from in the link at the top.

49) Tcl_RegisterHandleLockFunctions(AcquireHandleLock, ReleaseHandleLock) hasbeen added as a new exported C function to the standard TCL dlls.  Thisis the first time the TCL code has been modified for use by ioFTPD.Previously only the makefiles and command line options used for compilationwere touched.  In order to fix the race condition with new sockets beingautomatically inheritable by child processes it is necessary to share alock with the rest of the server and thus some way to communicate what toshare is required.  This function just registers 2 callback functions tocall before and after socket and/or process creation.
v7.1.0 Release Notes:
找了几个版本的tcl dll,里面均没有该函数:Tcl_RegisterHandleLockFunctions1) Files in \System:   Changed : ioFTPD.[exe,pdb] - Version 7.1.0.0.   Changed : tcl85t.[dll,pdb] - Version 8.5.2.8 (tcl version 8.5.8)   Changed : ioFTPD.ini - summary of changes by section...

The OpenSSL library is unchanged, you should be able to use anybody's compiled copy or build it yourself. We are currently using 1.0.0 but 1.0.1 is out there.

3.4 找到一处作者的说明,使用 nmake -nologo -f makefile.vc release OPTS=threads 编译 tcl ,使用这个重新编译下看看。
nmake -nologo -f makefile.vc release OPTS=threads

//z 2014-05-06 09:43:03 L.239'51417 BG57IV3@XCL T4210892314.K.F3811017215[T2,L59,R1,V16]
3.5 找不到 ioFTPD.ico ,将其路径更改如下。
IDI_ICON1               ICON                    ".\\..\\src\\ioFTPD.ico"

4. sum
//z 2014-05-06 01:09:04 L.239'82256 BG57IV3@BYH T335328246 .K.F519279140 [T6,L113,R1,V11]
focus:注释掉 Tcl_RegisterHandleLockFunctions ,然后挑选感兴趣的看看。

转载于:https://www.cnblogs.com/IS2120/p/6745663.html

编译 ioftpd v7.7.3相关推荐

  1. gradle-7.3.3-all 百度网盘下载

    Gradle 7.3.3 发布 Gradle团队很兴奋地宣布Gradle 7.3.3. 此次发布引入声明性测试套件API对于JVM项目,添加支持用Java 17构建项目,并更新Scala插件以支持Sc ...

  2. Apicloud开发之V7包继承AppCompactActivity后云编译资源找不到的解决办法

    一般我们模块开发很多都要继承AppCompactActivity这个类,主要是现在AS默认新建项目就是继承这个,但是作为模块开发来说这是最大的bug,为什么呢?因为apicloud云编译会报错如下图: ...

  3. 反编译apk修改v7包_微信Android SDK反编译还原源码 进行修改重新编译

    一.介绍 微信sdk,做开发的都应该用过,微信分享.支付,都要用到的. 接下来,跟着我,把他的sdk源码还原为一个module可编译的形式. 用到的工具: jadx: 这是一款反编译apk和jar包的 ...

  4. vue 项目在编译时,总是出现系统崩的状态,node 命令框也会报错,报错信息中有v7 或者 v8 的样式。

    项目场景: 背景: vue 项目在编译时,总是出现系统崩的状态,node 命令框也会报错. 问题描述 问题: vue 项目在编译时,总是出现系统崩的状态,node 命令框也会报错,如下图:有v7 或者 ...

  5. mysql v7.11_编译后MySQL v5.7.11安装出错

    在从源代码编译安装后尝试启动 mysql服务器时,我在MAC OS X 10.11中遇到以下错误. keyring_file不可读. 我试图使用以下命令启动服务器. ./mysqld start 在终 ...

  6. 反编译apk修改v7包_APK反编译

    一.APK 结构 Android 应用的 APK(Android Package)安装文件是一个包含所有代码和资源文件的压缩包 image.png AndroidManifest.xml 是Andro ...

  7. 抖音反编译:android反编译之最新版本抖音(v7.7.0)安卓版反编译教程

    1.准备 安卓反编译,我们用到的工具有两个 dex2jar 将dex文件转为jar文件 jd-gui 用于查看jar文件源代码,支持引用之间的跳转 2.获取抖音dex文件 如果你对这方面有兴趣,可以和 ...

  8. android.support.v7的v7报红,但程序不影响编译

    android.support.v7 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合 ...

  9. 使用MS VS的命令来编译C++程序

    以前,我是在linux下使用命令或者makefile来编译C++程序的,最近需要在windows上做点测试.于是使用ms VS来作为开发工具,这种大揽全包的IDE确实好用:点一下菜单,编译结果就出来了 ...

最新文章

  1. Python基础学习!容器:列表,元组,字典与集合!(2)
  2. 运维企业专题(8)LVS高可用与负载均衡后篇——LVS健康检查与高可用详解
  3. python 字符串部分总结
  4. 【转】 vi常用操作
  5. JavaWeb学习总结(十七):JSP中的九个内置对象
  6. python3 UnicodeEncodeError: 'ascii' 错误
  7. plupload使用例子
  8. 再来一波不错的学习资源
  9. 【Flink】Flink 1.12.2 SlotManager
  10. drool 7.x 属性:duration
  11. 携程实时计算平台架构与实践丨DataPipeline
  12. 5.2.3 std::atomic的相关操作
  13. eclipse 环境安装
  14. VMware workstation 16 pro下载、安装(官网)
  15. itext设置字体间距_微信公众号文章字体怎么修改?行间距、字间距一般设置多少?...
  16. 吴晓波罗振宇2019跨年演讲感想
  17. 儿童python入门书籍推荐_有哪些Python入门的书籍值得推荐?
  18. 80核处理器_最受欢迎的处理器 酷睿i5-9400F果然霸榜了
  19. Flutter执行flutter pub get过程中遇到的问题
  20. Linux-常见命令(二)

热门文章

  1. HDU 4267 A Simple Problem with Integers
  2. outlook地址薄导入到FOXMAIL
  3. 再获“国资”加持,车置宝获南京银行2亿债权融资支持...
  4. 一个浏览器插件,测试xpath的工具
  5. 我理解的配置管理系统
  6. Android开发总结
  7. OpenCV成长之路:图像滤波
  8. Android 之 ProgressDialog用法介绍(矩形进度条 和 圆形 进度条)
  9. 修改表结构添加外键约束,默认外键名
  10. 轻松得到C# ADO.NET的各种数据库连接字符串