20181023

300 阅读1分钟

tar.xz解压

xz -d xxxxx.tar.xz
tar -xvf xxxxx.tar
tar xvJf xxxx.tar.xz

diff只输出文件名

diff -qr dir1 dir2

Makefile中的默认变量

  1. $* 不包含扩展名的目标文件名称。
  2. $+ 所有的依赖文件,以空格分开,并以出现的先后为序,可能包含重复的依赖文件。
  3. $< 第一个依赖文件的名称。
  4. $? 所有的依赖文件,以空格分开,这些依赖文件的修改日期比目标的创建日期晚。
  5. $@ 目标的完整名称。
  6. $^ 所有的依赖文件,以空格分开,不包含重复的依赖文件。
  7. % 如果目标是归档成员,则该变量表示目标的归档成员名称。例如,如果目标名称为 mytarget.so(image.o),则@ 为 mytarget.so,而 $% 为 image.o。
  8. AR 归档维护程序的名称,默认值为 ar。
  9. ARFLAGS 归档维护程序的选项。
  10. AS 汇编程序的名称,默认值为 as。
  11. ASFLAGS 汇编程序的选项。
  12. CC C 编译器的名称,默认值为 cc。
  13. CCFLAGS C 编译器的选项。
  14. CPP C 预编译器的名称,默认值为 $(CC) -E。
  15. CPPFLAGS C 预编译的选项。
  16. CXX C++ 编译器的名称,默认值为 g++。
  17. CXXFLAGS C++ 编译器的选项。
  18. FC FORTRAN 编译器的名称,默认值为 f77。
  19. FFLAGS FORTRAN 编译器的选项。

pkgconfig

升级openjfx gstream的时候发现有用到

$(shell pkg-config --cflags glib-2.0)
$(shell pkg-config --libs glib-2.0 gobject-2.0)

这样的语句

pkg-config能够把这些头文件和库文件的位置指出来,给编译器使用

在openjfx8u中是手动include glib库,而openjfx11中是用的linux系统glib库

报错信息

执行gradle的时候有如下错误

> Task :buildSrc:generateGrammarSource
error(10):  internal error: Can't get property indirectDelegates using method get/isIndirectDelegates from org.antlr.tool.Grammar instance : java.lang.NullPointerException

虽然不影响编译但是强迫症使我想弄清楚这个问题 经google发现 stackoverflow 需要使用Java7编译,但是目前公司使用Java8只能放弃

finished with non-zero exit value 2

gradle 编译错误

wky同学win7环境编译openjfx报错

Caused by: org.gradle.process.internal.ExecException: Process 'command 'D:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.15.26726/bin/HostX64/x64/cl.exe'' finished with non-zero exit value 2

关于finished with non-zero exit value的说明小结