ARM64_VS2017 动态库 静态库编译 主程序调用环境搭建

ARM64_VS2017 动态库 静态库编译 主程序调用环境搭建

1.打开Visual Studio Installer安装linux开发环境

在这里插入图片描述

2.配置linux环境

工具->选项->跨平台->连接管理器->添加 远程linux系统
在这里插入图片描述

3.创建主程序project(这里选择控制太应用程序)

在这里插入图片描述
代码如下:

#include <cstdio>
#include <stdlib.h>
#include "Dynamic/Dynamic.h"
#include "Static/Static.h"

int main()
{
    printf("hello from test!\n");
	printf("static_test:%d\n", static_test(1));
	printf("dynamic_test:%d\n", dynamic_test(1));
	getchar();
    return 0;
}

4.创建动态库

在这里插入图片描述
代码如下:

Dynamic.h

#pragma once
int dynamic_test(int n);

Dynamic.cpp

#include "Dynamic.h"
int dynamic_test(int n) {
	return n * 2;
}

5.创建静态库

在这里插入图片描述
代码如下:

Static.h

#pragma once
int static_test(int n);

Static.cpp

#include "Static.h"
int static_test(int n)
{
	return n * 3;
}

6.主程序project搭建环境

在这里插入图片描述
1.配置属性->常规

  • 输出目录
$(ProjectDir)..\bin\$(Platform)\$(Configuration)\
  • 目标扩展名 .out(可为空)

  • 远程生成根目录

/root/projects/$(SolutionName)
  • 远程生成项目目录
$(RemoteRootDir)

2.GDB调试设置
在这里插入图片描述

  • 程序

    $(RemoteRootDir)/bin/$(Platform)/$(Configuration)/$(TargetName)$(TargetExt)
    
  • 工作目录

    $(RemoteRootDir)/bin/$(Platform)/$(Configuration)
    
  • 其他调试程序命令

    set solib-search-path $(SolutionDir)bin/$(Platform)/$(Configuration)
    

3.配置属性->C/C++
在这里插入图片描述

  • 常规

    ./..;$(StlIncludeDirectories);
    

4.配置属性->链接器
在这里插入图片描述

  • 常规

    $(RemoteRootDir)/bin/$(Platform)/$(Configuration)/$(TargetName)$(TargetExt)
    
  • 附加库目录

    $(RemoteRootDir)/bin/$(Platform)/$(Configuration);%(AdditionalLibraryDirectories)
    
    • 输入->库依赖项
    • 在这里插入图片描述
  • 链接器->命令行

  • 在这里插入图片描述

-Wl,-rpath=$(RemoteRootDir)/bin/$(Platform)/$(Configuration) 

7.动态库配置linux环境

在这里插入图片描述
主要配置参数:

输出目录:$(ProjectDir)..\bin\$(Platform)\$(Configuration)\

8.静态库配置linux环境

在这里插入图片描述

输出目录:$(ProjectDir)..\bin\$(Platform)\$(Configuration)\

9.编译效果

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值