当前位置:  技术问答>linux和unix

Linxu makefile小问题

    来源: 互联网  发布时间:2016-12-18

    本文导语:  我在编译一个程序时,用到了ICU4C这个库,所以用gcc编译时是这样的: gcc smssend.cpp -o sms -licuio 然后需要引进一个环境变量: export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH 这样才能执行./sms 现在需要写一个makefile文...

我在编译一个程序时,用到了ICU4C这个库,所以用gcc编译时是这样的:
gcc smssend.cpp -o sms -licuio

然后需要引进一个环境变量:
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

这样才能执行./sms

现在需要写一个makefile文件来执行,请问应该怎样写?
我之前没学过makefile文件的书写。

|


顶! LD_LIBRARY_PATH是loader程序用的,不是linker用的。ld程序其实linker,虽然它名字很像loader缩写,但man下ld可知:
------------------------------------------------------------------
LD(1)               GNU Development Tools                                                    

NAME
       ld - The GNU linker

SYNOPSIS
       ld [options] objfile ...

|
google下如何写makefile。。。。很详细

|
在makefile里面export就行

export LD_LIBRARY_PATH=/usr/local/lib:$(LD_LIBRARY_PATH)
tar1:
 gcc smssend.cpp -o sms -licuio
 ./sms




|
Makefile:  如果你的icuio是放在/usr/lib  /usr/local/lib 就没有必要写那个export ,默认ld会查找这些目录,如果是放在比如 /test/lib/下 可以这样写
sms:smssend.cpp
    gcc smssend.cpp -o sms -licuio
CFLAGS += -L/test/lib  
//你写在LD_FLAGS中也是可以的。

export 我建议你还是写在一个shell中, 比如 sms_exec.sh:
#!/usr/bin/env sh
export LD_LIBRARY_PATH=/test/lib:$(LD_LIBRARY_PATH)
sms

|
编译的时候与那个环境变量无关吧,只是运行的时候需要

试试gcc smssend.cpp -o sms -L/usr/local/lib -licuio

|
楼上和楼上的楼上是正解。环境变量和编译本身无关。只有在运行的时候,程序会根据LD_LIBRARY_PATH的路径寻找动态库文件。在编译阶段,与动态库文件相关的是-L选项,用于告诉编译器去这个目录下寻找库文件。

|



|

shell脚本中的export 起作用吗?

|
1、如果你打算这个环境变量永远有效,那么,打开/etc/profile 加到最后,然后source profile,这样每次开机环境变量就设置好了。Makefile里面就不用再管他了。
2、我看你这个环境变量是一个库的目录,可以这样:
LIBDIR += -L/usr/local/lib
LIBDIR +=其他路径
LIB += -licuio
LIB += 其他库

sms:
    gcc smssend.cpp -o sms $(LIBDIR) $(LIB)
    

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 下载的linxu如何使用md5文件进行验证?
  • 使用SecureCRT连接到Linxu后,中断的汉字乱码,怎么解决?
  • 有没有在WINDOWS下专门用来看LINXU内核源代码的软件?
  • 请问在安装Linxu时提示12号错误是怎么回事啊?
  • 在linxu下有图形化的ftp客户端工具么?
  • linxu下用C写的程序可以在windows下用吗?
  • linxu-如何拷贝指定类型的文件到指定的目录下呢?
  • Linxu下什么C++工具好用
  • 分析linxu下c++写的一个数据库的源代码。怎么下手? (百分求教)
  • 跪求--在LINXU环境下,烧写程序
  • 如何实现在2G HD空间下装 linxu+ftp server+ssh
  • 在LINXU下是否有JAVA与PACAL编译的工具
  • linxu shell程序设计
  • 怎样在LINXU下编译修改后的含有多个C文件的开源软件?有什么好的工具?需要配置哪些文件?
  • 有人对fc下的xen了解多深?为什么大家都要在win32的vmare下装linux,不在linxu下的xen装windows
  • linxu下的文件属性为0755,022各是什么意思?
  • 关于互斥量类型属性,在LINXU系统中为什么总是编译不通过?
  • Linxu初学者、Linux爱好者自己的发行版


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3