准备环境:

1. sudo apt-get update

2. sudo apt-get clang

3. apt-get install libstdc++-dev

Reading package lists... Done
Building dependency tree
Reading state information... Done
Package libstdc++-dev is a virtual package provided by:
   libstdc++-8-dev 8.3.0-6ubuntu1~18.04.1
   libstdc++-6-dev 6.5.0-2ubuntu1~18.04
   libstdc++-7-dev 7.4.0-1ubuntu1~18.04.1
   libstdc++-5-dev 5.5.0-12ubuntu1
   libstdc++-4.8-dev 4.8.5-4ubuntu8
   libc++-dev 6.0-2
You should explicitly select one to install.

E: Package 'libstdc++-dev' has no installation candidate

选择第一个继续安装 sudo pt-get install libstdc++-8-dev

4. 安装zlib

sudo apt-get install zlib1g
sudo apt-get install zlib1g.dev


具体编译步骤:

1. git clone https://github.com/upx/upx.git

2. cd upx

3. git submodule update --init –recursive

3. 下载ucl http://www.oberhumer.com/opensource/ucl/download/ucl-1.03.tar.gz

因为upx依赖这种压缩算法,后面要配置这个目录的环境变量

export UPX_UCLDIR=/mnt/d/opensource/upx/ucl-1.03

4. cd ucl-1.03

./configure CC=clang

make

5. 设置环境变量

export UPX_UCLDIR=/mnt/d/opensource/upx/ucl-1.03
export UPX_LZMADIR=/mnt/d/opensource/upx/upx/src/lzma-sdk
export UPX_LZMA_VERSION=0x443

6. 在upx目录下执行 make all

7. 在src目录下会生成upx.out

最后测试一下

在WSL Ubuntu 下编译UPX详细步骤的更多相关文章

  1. Ubuntu下安装Nginx详细步骤

    Nginx安装之前需要三个支持: 模块依赖性 ①gzip 模块需要 zlib 库 ②rewrite 模块需要 pcre 库 ③ssl 功能需要 openssl 库 预先编译好的包: sudo apt- ...

  2. Ubuntu下编译SHTOOLS

    SHTOOLS是使用Fortran语言写的一个专门用于处理球谐函数的一个开源库,更多的介绍请猛戳这里,关于这个库的安装和使用,都在官网上有详细的说明,虽然很详细,但是编译的时候还是比较费劲,下面将我在 ...

  3. ubuntu下编译VLC

    ubuntu下编译VLC 标签(空格分隔): ubuntu vlc 视频 编译 [TOC] 1.下载VLC源码包并解压 VLC的源码包在VLC的官网有,可以直接下载.也可以使用git来clone一个. ...

  4. 在Ubuntu下编译hadoop2.5.x

    在Ubuntu下编译hadoop2.5.x 参考博客:http://www.aboutyun.com/thread-8130-1-1.html 1 下载hadoop源码: (1) http://www ...

  5. Ubuntu下编译Poco库

    本文主要记录下Ubuntu下编译Poco C++库的配置项以备后用.系统版本:Ubuntu 16.04,1 Poco 版本:1.9.0基本的步骤如下: 1.从官网下载最新的Poco源码,地址是:htt ...

  6. 编译Chrome详细步骤

    编译Chrome详细步骤   文章来源:http://blog.csdn.net/allendale/article/details/9262833 参考:http://dev.chromium.or ...

  7. 在Ubuntu下进行MongoDB安装步骤

    一. 在Ubuntu下最傻瓜的步骤(以下都在root用户下进行操作): 1.运行"apt-get install mongo" 如果遇到找不到安装包的话运行"apt-ge ...

  8. ubuntu下编译caffe

    Ubuntu下编译caffe 纯粹是个人编译的记录.不用CUDA(笔记本是amd卡,万恶的nvidia):不手动编译依赖包(apt-get是用来干啥的?用来直接装二进制包,以及自动解决依赖项的) ca ...

  9. 在Ubuntu下编译wpa_supplicant

    最近在研究WiFi联盟的多屏互动协议Miracast,其中需要用到wpa_supplicant,编译中遇到了一些问题,经过一下午的折腾也都解决了,下面分享给各位. 一.编译需要用到三个库源码包,分别是 ...

随机推荐

  1. 开发中遇到的相关linux问题

    一:java.sql.SQLException: Access denied for user 'root'@'10.150.152.200' (using password: YES) 1:用户名后 ...

  2. weBDrriver API接口方法小记

    3.2.1 输入框(text field or textarea) 找到输入框元素:WebElement element = driver.findElement(By.id("passwd ...

  3. java中位运算^,&,<<,>>,<<<,>>>总结

    1.^(亦或运算) ,针对二进制,相同的为0,不同的为1 public static void main(String[] args) { System.out.println("2^3运算 ...

  4. 使用onfocus与onblur实现搜索框附加信息

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. nginx的4层负载均衡配置

    前言:所谓四层就是基于IP+端口的负载均衡:七层就是基于URL等应用层信息的负载均衡:同理,还有基于MAC地址的二层负载均衡和基于IP地址的三层负载均衡. 换句换说,二层负载均衡会通过一个虚拟MAC地 ...

  6. JVM(5)之 GC之标记

    开发十年,就只剩下这套架构体系了! >>>     堆分为年轻代和年老代.永久代是非堆内存,它又叫做方法区(一般的说法),主要存储已被加载的类信息.常量.静态变量.而该区域在java ...

  7. ES6——字符串

    1.多了两个方法       1)startsWith       2)endsWith 2.模板字符串(`..`)—— 方便字符串连接   `反单引号        1)可以直接把表达式塞进去 &a ...

  8. python常用函数 O

    OrderedDict() 保持dict元素插入顺序. 例子: open(path) 可以对文件进行操作,有'r'读模式.'w'写模式.'a'追加模式.'b'二进制模式.'+'读/写模式等,操作完需要 ...

  9. html5 jquery音乐播放器,play()和pause()不起作用

    今天在自己写的页面上加上背景音乐,当我点击图片时可以切换 播放/暂停 用jquery写的,方法总是提示没有pause这个方法! 检查了半天最后发现 你使用的是jquery选择器所以返回的是jquery ...

  10. JavaScript的三大组成部分

    JavaScript是一种属于网络的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果.通常JavaScript脚本是通过嵌入在HTML中来实现 ...