zoukankan      html  css  js  c++  java
  • unix网络编程源码编译问题

    ​##获得更多资料欢迎进入我的网站或者 csdn或者博客园

    今天在温习计算机网络时,突然将我很久前买的《unix网络编程第三版卷一》拿出来看看了。放了两年了,哈哈。主要讲的套接字,之前编写android时用过socket(java),而本书全是c语言还是可以好好学习下的;然而第一个程序我就编译错误了,什么鬼!! ,还好之后,用了神奇的谷歌,发现源码下居然有readme。真是提醒我了,以后一定要注意这个文件。

    源码下载地址官方地址

    我直接编译遇见的问题:

    #1.解压文件进入主目录
    cd intro
    #2.直接编译
    gcc -o 1.out daytimetcpcli.c 
    #错误提示如下:
    daytimetcpcli.c:1:17: fatal error: unp.h: No such file or directory
     #include "unp.h"
                     ^
    compilation terminated.
    #在../key目录下找到unp.h。继续提醒没有<sys/fiflo.h>从网上下载继续出问题。
    #3.看到目录下有make文件,make一下:显示如下:
    peace@peace:~/workspace/unpv13e/unpv13e/intro$ make
    Makefile:1: ../Make.defines: No such file or directory
    make: *** No rule to make target '../Make.defines'.  Stop.
    
    

    崩溃,简答的测试程序都不行。没办法,谷歌;终于找到了

    解决办法:

    参照主目录下readme文件执行一下命令:
    注意:
    1最后一个命令有改动
    2前面三个命令是必须的 ./configure,cd lib ,make
    3后面的cd ../libfree  cd ../libroute cd ../libxti 满足条件才需要执行

     ./configure    # try to figure out all implementation differences
    
        cd lib         # build the basic library that all programs need
        make           # use "gmake" everywhere on BSD/OS systems
    
        cd ../libfree  # continue building the basic library
        make
    
        cd ../libroute # only if your system supports 4.4BSD style routing sockets
        make           # only if your system supports 4.4BSD style routing sockets
    
        cd ../libxti   # only if your system supports XTI
        make           # only if your system supports XTI
    
        cd ../intro    # build and test a basic client program
        make #官方是make daytimetcpcli
    

    终于编译成功了。内牛满面;
    测试:

    sudo ./daytimetcpcli 127.0.0.1
    [sudo] password for peace: 
    connect error: Connection refused
    哭晕啊
    
    

    成功执行

    到网上一查才发现是系统默认没打开daytime服务。
    解决办法:
    在intro中执行一下命令打开daytime服务

     sudo ./daytimetcpsrv
    

    由于此程序在运行中;需要另外打开终端,进入intro中测试

    sudo ./daytimetcpcli 127.0.0.1
    [sudo] password for peace: 
    Thu Jul 23 21:50:23 2015
    

    得到正常结果;
    我的失误,希望能对大家有帮助;

  • 相关阅读:
    说一说javascript的异步编程
    Flink 整合 Nacos,让 Flink 作业配置动态更新不再是难事
    Flink 整合 Apollo,动态更新 Flink 作业配置
    一文让你彻底了解大数据实时计算引擎 Flink
    《大数据实时计算引擎 Flink 实战与性能优化》新专栏
    滴滴实时计算发展之路及平台架构实践
    Flink 从 0 到 1 学习 —— Flink Data transformation(转换)
    Flink Connector 深度解析
    Flink 从 0 到 1 学习 —— Flink 配置文件详解
    vue-cli3如何配置 eslint 及配合 vscode 自动保存
  • 原文地址:https://www.cnblogs.com/onepeace/p/4671923.html
Copyright © 2011-2022 走看看