小编Ale*_*min的帖子

使用autotools/libtool构建.so模块,不安装.la和.a变体

如何在没有.la和.a库的情况下使用autotools/libtool构建和安装.so模块也安装到--prefix路径中?

目前我正在使用以下Makefile.am:

lib_LTLIBRARIES = libCurlDownloader.la
libCurlDownloader_la_SOURCES = Curl.cpp
libCurlDownloader_la_LDFLAGS = -module -avoid-version
Run Code Online (Sandbox Code Playgroud)

它有效,但除了libCurlDownloader.so之外,它还安装了libCurlDownloader.la和libCurlDownloader.a,这是不可取的.

更新#1

通过使用任何一个都可以使.a无法生成

./configure --disable-static
Run Code Online (Sandbox Code Playgroud)

要么

AC_ENABLE_SHARED(yes)
AC_ENABLE_STATIC(no)
Run Code Online (Sandbox Code Playgroud)

在configure.ac中

但是仍然存在如下问题:如何在安装.so时将.la安装到安装--prefix中.

更新#2

可以从安装--prefix中删除.la文件

install-exec-hook: find $(DESTDIR)$(libdir) -type f -name \*.la -delete
Run Code Online (Sandbox Code Playgroud)

module autotools libtool

16
推荐指数
1
解决办法
4318
查看次数

IntelliJ IDEA GUI构建器 - 未生成Java代码

我在IntelliJ IDEA GUI设计器中设计了我的GUI表单,并选择了Project Settings→GUI Designer中的单选按钮来生成源代码而不是.class文件,但我的.java代码文件如下所示:

public class PovRayEmptyProjectWizardPanelVisual {
    private JTextField textField1;
    private JTextField textField2;
    private JTextField textField3;
    private JButton button1;
}
Run Code Online (Sandbox Code Playgroud)

就是这样 - 没有生成创建GUI的代码.如何手动触发此类代码生成,以便我可以.java使用Maven 编译生成的文件?

java user-interface code-generation intellij-idea gui-builder

13
推荐指数
1
解决办法
8385
查看次数

如何使用OpenJDK 7编译mavenized OSGi 4.3软件包?

我正在尝试使用OpenJDK7针对OSGi规范4.3编译我的OSGi包但我收到错误:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5:compile (default-compile) on project example: Compilation failure
[ERROR] /tmp/baka/example/src/main/java/org/example/Activator.java:[14,24] error: type ServiceReference does not take parameters
Run Code Online (Sandbox Code Playgroud)

这是我的Activator.java:

package org.example;

import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;

public class Activator implements BundleActivator {
    @Override
    public void start(BundleContext bundleContext) throws Exception {
        ServiceReference<Runnable> ref = bundleContext.getServiceReference(Runnable.class);
    }

    @Override
    public void stop(BundleContext bundleContext) throws Exception {
    }
}
Run Code Online (Sandbox Code Playgroud)

和我的pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>example</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>bundle</packaging>

    <name>example</name>
    <url>http://maven.apache.org</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.osgi</groupId>
            <artifactId>org.osgi.core</artifactId> …
Run Code Online (Sandbox Code Playgroud)

java openjdk osgi java-7

8
推荐指数
1
解决办法
2456
查看次数

Scala部分应用了curried函数

为什么我不能改写

println(abc.foldRight(0)((a,b) => math.max(a.length,b)))
Run Code Online (Sandbox Code Playgroud)

object Main {
  def main(args : Array[String]) {
    val abc = Array[String]("a","abc","erfgg","r")
    println(abc.foldRight(0)((a,b) => math.max(a.length,b)))
  }
}
Run Code Online (Sandbox Code Playgroud)

println(abc.foldRight(0)(math.max(_.length,_)))
Run Code Online (Sandbox Code Playgroud)

scala口译员收益率

/path/to/Main.scala:4: error: wrong number of parameters; expected = 2
    println(abc.foldRight(0)(math.max(_.length,_)))
                                     ^
one error found
Run Code Online (Sandbox Code Playgroud)

这对我来说不够具有描述性.是不是得到的lambda有两个参数,其中一个被称为.length方法,如abc.map(_.length)

scala currying

5
推荐指数
1
解决办法
327
查看次数