工程调用(vs2015中两个工程,相互调用)

任务:想在try工程下,调用另一个工程speech_emotion的cpp函数
这里写图片描述

同一解决方案下,可以有多个工程相互调用,具体是要注意以下几个内容:
1、调用speech_emotion中的.h文件,需要增加路径的引用,找到speech_emotion下的头文件所在的位置。
这里写图片描述

或者,如果你只是调用几个函数,那么可以直接修改h文件的路径就可以了
这里写图片描述

2、调用speech_emotion中的cpp文件,需要两步(这两步都是必不可少的):
2.1生成speech_emotion的lib
这里写图片描述
2.2 在try下增加speech_emotion的引用,不然找不到cpp文件。
这里写图片描述

3、其他数据文件以及模型
都要修改路径,使得模型可以找到对应的模型

注意:如果在文件中,直接修改位置,那么路径看的是.cpp文件所在的路径

有的函数提示你找不到,那就想办法找到那个函数就可以了,比如什么main.obj找不到呀。。

‘//’要比’\’可靠

### Dubbo实现两个项目之间相互远程调用 Dubbo 是一个高性能的 Java RPC 框架,用于构建分布式服务应用。要实现两个项目的相互远程调用,可以通过定义服务接口和服务实现类,在客户端和服务端分别进行配置。 #### 1. 添加必要的依赖 为了集成 Nacos 和 Dubbo,需要引入 `nacos-client` 和 `dubbo` 的 Maven 依赖[^2]: ```xml <dependency> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo</artifactId> <version>3.0.9</version> </dependency> <dependency> <groupId>com.alibaba.nacos</groupId> <artifactId>nacos-client</artifactId> <version>2.1.0</version> </dependency> ``` #### 2. 定义服务接口 创建一个公共的服务接口模块,供两个项目共享。例如: ```java public interface HelloService { String sayHello(String name); } ``` #### 3. 配置服务提供方(Provider) 在服务提供方中实现上述接口,并注册到 Dubbo 中。 ##### 使用 XML 配置方式 在 Spring 的 XML 文件中添加如下配置[^5]: ```xml <dubbo:application name="provider-app"/> <dubbo:registry address="nacos://127.0.0.1:8848"/> <dubbo:protocol name="dubbo" port="20880"/> <!-- 注册服务 --> <dubbo:service interface="com.example.HelloService" ref="helloServiceImpl"/> <bean id="helloServiceImpl" class="com.example.impl.HelloServiceImpl"/> ``` ##### 使用 Annotation 方式 如果偏好使用注解,则可以在实现类上标注 `@Service`[^4]: ```java import org.apache.dubbo.config.annotation.Service; @Service(version = "1.0.0", protocol = "dubbo") public class HelloServiceImpl implements HelloService { @Override public String sayHello(String name) { return "Hello, " + name; } } ``` #### 4. 配置服务消费方(Consumer) 在另一个项目中引用该服务。 ##### 使用 XML 配置方式 同样通过 XML 进行配置: ```xml <dubbo:application name="consumer-app"/> <dubbo:registry address="nacos://127.0.0.1:8848"/> <!-- 引用远程服务 --> <dubbo:reference id="helloService" interface="com.example.HelloService"/> ``` 随后可以直接注入并使用此服务: ```java @Autowired private HelloService helloService; public void test() { System.out.println(helloService.sayHello("World")); } ``` ##### 使用 Annotation 方式 也可以通过注解完成服务引用: ```java import org.apache.dubbo.config.annotation.Reference; @Component public class ConsumerComponent { @Reference(version = "1.0.0") private HelloService helloService; public void callService() { System.out.println(helloService.sayHello("World")); } } ``` #### 5. REST 风格的支持 如果希望支持 REST 风格的远程调用,可以按照以下方式进行设置: ```java import org.apache.dubbo.config.annotation.Service; @Path("greetings") @Service(protocol = "rest") public class GreetingService { @GET @Path("{name}") public String greet(@PathParam("name") String name) { return "Hello, " + name; } } ``` 此时,消费者可通过 HTTP 请求访问该服务。 --- ### 总结 通过 Dubbo 实现两个项目间的相互远程调用,核心在于服务的暴露与引用。无论是采用 XML 配置还是注解方式,都需要确保服务接口的一致性和正确的注册中心地址配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值