在本文中,我们将详细介绍必须声明一个命名包eclipse,因为此编译单元与命名模块相关联的各个方面,并为您提供关于java必须声明一个命名包的相关解答,同时,我们也将为您带来关于Android:在Ec
在本文中,我们将详细介绍必须声明一个命名包eclipse,因为此编译单元与命名模块相关联的各个方面,并为您提供关于java必须声明一个命名包的相关解答,同时,我们也将为您带来关于Android:在Eclipse中重命名包、c – “在另一个命名空间间接声明一个命名空间”是什么意思?、c – 编译错误:命名空间’std’中的”function’未命名模板类型“、Eclipse、myeclipse(10)反编译工具Jad及插件JadClipse配置的有用知识。
本文目录一览:- 必须声明一个命名包eclipse,因为此编译单元与命名模块相关联(java必须声明一个命名包)
- Android:在Eclipse中重命名包
- c – “在另一个命名空间间接声明一个命名空间”是什么意思?
- c – 编译错误:命名空间’std’中的”function’未命名模板类型“
- Eclipse、myeclipse(10)反编译工具Jad及插件JadClipse配置
必须声明一个命名包eclipse,因为此编译单元与命名模块相关联(java必须声明一个命名包)
昨天我刚刚下载了Java的eclipse,但是当我尝试制作自己的第一个程序时,我不断收到此错误:
must declare a named package eclipse because this compilation unit is associated to the named module x.
我该如何解决?
答案1
小编典典只需在Project Explorer选项卡上删除 module-info.java 。
Android:在Eclipse中重命名包
我想用不同的选项(例如免费和付费版本)多次编译我的Android应用程序,而无需手动执行某些操作.
自动执行此操作非常重要.像图书馆这样的所有解决方案都无济于事,因为有几件事需要手工完成.
解决方法
下面将对步骤进行示例调用.
>使用不同的包名称打包应用程序:
aapt package -f -M ./AndroidManifest.xml -S res/ \ -I android.jar -F renamed_project.apk.unaligned \ --rename-manifest-package "com.example.some_new_package" -v
>然后添加类:
aapt add -f renamed_project.apk.unaligned classes.dex -v
>签名:
jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 \ -keystore "some_keystore_file" \ renamed_project.apk.unaligned "key_name"
>对齐它:
zipalign -v 4 renamed_project.apk.unaligned renamed_project.apk
可以找到更多信息,例如here.
您也可以使用Ant更轻松地完成此操作. Here您可以找到更多信息.
c – “在另一个命名空间间接声明一个命名空间”是什么意思?
An unnamed namespace or a namespace declared directly or indirectly
within an unnamed namespace has internal linkage. All other namespaces
have external linkage. A name having namespace scope that has not been
given internal linkage above has the same linkage as the enclosing
namespace if it is the name of …
“在另一个命名空间之间间接声明一个命名空间”是什么意思?
解决方法
c – 编译错误:命名空间’std’中的”function’未命名模板类型“
现在,我正在尝试编译我的第一个示例程序:
1 #include <iostream> 2 #include <tins/tins.h> 3 4 using namespace Tins; 5 6 bool callback(const PDU &pdu) { 7 const IP &ip = pdu.rfind_pdu<IP>(); // Find the IP layer 8 const TCP &tcp = pdu.rfind_pdu<TCP>(); // Find the TCP layer 9 std::cout << ip.src_addr() << ':' << tcp.sport() << " -> " 10 << ip.dst_addr() << ':' << tcp.dport() << std::endl; 11 return true; 12 } 13 14 int main() { 15 Sniffer("eth0").sniff_loop(callback); 16 }
当我想编译它时,我面临以下错误:
me@me-MS-7693:~/Desktop/Workspace/cpp_libtins$g++ main.cpp -ltins In file included from /usr/local/include/tins/tins.h:60:0,from main.cpp:2: /usr/local/include/tins/crypto.h:297:18: error: ‘function’ in namespace ‘std’ does not name a template type typedef std::function<void(const std::string&,^ /usr/local/include/tins/crypto.h:308:18: error: ‘function’ in namespace ‘std’ does not name a template type typedef std::function<void(const std::string&,^ /usr/local/include/tins/crypto.h:401:44: error: ‘handshake_captured_callback_type’ does not name a type void handshake_captured_callback(const handshake_captured_callback_type& callback); ^ /usr/local/include/tins/crypto.h:412:34: error: ‘ap_found_callback_type’ does not name a type void ap_found_callback(const ap_found_callback_type& callback); ^ /usr/local/include/tins/crypto.h:445:9: error: ‘handshake_captured_callback_type’ does not name a type handshake_captured_callback_type handshake_captured_callback_; ^ /usr/local/include/tins/crypto.h:446:9: error: ‘ap_found_callback_type’ does not name a type ap_found_callback_type ap_found_callback_; ^ me@me-MS-7693:~/Desktop/Workspace/cpp_libtins$
怎么了?
我的编译器版本:
me@me-MS-7693:~/Desktop/Workspace/cpp_libtins$g++ --version g++ (Ubuntu 5.4.0-6ubuntu1~16.04.2) 5.4.0 20160609 copyright (C) 2015 Free Software Foundation,Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or fitness FOR A PARTIculaR PURPOSE. me@me-MS-7693:~/Desktop/Workspace/cpp_libtins$
解决方法
Eclipse、myeclipse(10)反编译工具Jad及插件JadClipse配置
Jad是一个Java的一个反编译工具,是用命令行执行,和通常JDK自带的java,javac命令是一样的。不过因为是控制台运行,所以用起来不太方便。不过幸好有一个eclipse的插件JadClipse,二者结合可以方便的在eclipse中查看class文件的源代码。下面介绍一下配置:
A.下载JadClipse,http://jadclipse.sourceforge.net/wiki/index.php/Main_Page#Download,注意选择与eclipse版本一致的版本,我用的是Eclipse3.4,所以选择下载版本net.sf.jadclipse_3.3.0.jar
B.下载Jad,http://www.varaneckas.com/jad,下载相应版本
C.将下载下来的Jadclipse,如net.sf.jadclipse_3.3.0.jar拷贝到Eclipse下的plugins目录即可。当然也可以用links安装,不过比较麻烦。
D.将Jad.exe拷贝到JDK安装目录下的bin文件下(方便,与java,javac等常用命令放在一起,可以直接在控制台使用jad命令),我的机器上的目录是D:\Program Files\Java\jdk1.6.0_02\bin\jad.exe
F.然后,重新启动Eclipse,找到Eclipse->Window->Preferences->Java,此时你会发现会比原来多了一个JadClipse的选项,单击,会出现,如下:,在Path to decompiler中输入你刚才放置jad.exe的位置,也可以制定临时文件的目录,如图所示。。当然在JadClipse下还有一些子选项,如Debug,Directives等,按照默认配置即可。
G.基本配置完毕后,我们可以查看一下class文件的默认打开方式,Eclipse->Window->Preferences->General->Editors->File Associations,我们可以看到下图:,我们可以看到class文件的打开方式有两个,JadClipse和Eclipse自带的ClassFile Viewer,而JadClipse是默认的。
H.全部配置完成,下面我们可以查看源码了,选择需要查看的类,按F3即可查看源码,如查看Annotation中的Target,使用jad查看源码如下:
大家可以看到最上面的一行
"/*jadclipse*/// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.",说明是由jad反编译的。
PS:网上说对于存在源代码的类,它不会强行反编译,也就是说它还是会用eclipse自带的Class File Viewer查看class文件。这个我还没有进行过验证。 另外附上我用的jad和jadclipse的压缩包,方便大家下载:/Files/landon/DeComiler.rar
对于myeclipse10为例添加Jad及JadClipse和上述基本一样,Jad添加一样,JadClipse添加前需要在myeclipse10安装目录中找到dropins文件夹新建eclipse文件夹,在新建eclipse文件夹下分别新建features和plugins,JadClipse解压复制net.sf.jadclipse_3.3.0.jar到刚才新建文件夹eclipse下的features和plugins下。
今天的关于必须声明一个命名包eclipse,因为此编译单元与命名模块相关联和java必须声明一个命名包的分享已经结束,谢谢您的关注,如果想了解更多关于Android:在Eclipse中重命名包、c – “在另一个命名空间间接声明一个命名空间”是什么意思?、c – 编译错误:命名空间’std’中的”function’未命名模板类型“、Eclipse、myeclipse(10)反编译工具Jad及插件JadClipse配置的相关知识,请在本站进行查询。
本文标签: